Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
230 commits
Select commit Hold shift + click to select a range
0591bc2
Screen scale optimization to support various resolutions.
Dec 6, 2018
afcf750
Update gitignore
Dec 6, 2018
e258c7b
Add pre-build script file for carthage build.
Dec 6, 2018
0df0e32
Change project directories for example with carthage
Dec 6, 2018
4675014
Update Cartfile in example.
Dec 6, 2018
087e63c
Update project setting.
Dec 6, 2018
7839f6b
Remove example for carthage
Dec 6, 2018
69c2bab
Update project settings.
Dec 7, 2018
fecb647
Update README
Dec 7, 2018
370b2b4
Update project setting.
Dec 7, 2018
b13898b
Update project setting.
Dec 7, 2018
f21cfdf
Update import to build carthage.
Dec 7, 2018
009ff05
Change resource bundle for framework.
Dec 7, 2018
a858730
[Refactoring] Extract DLGPlayerStatus of enum to DLGPlayerDef.h
Dec 7, 2018
36cc873
Update import to use as framework.
Dec 7, 2018
d99c760
Bug fix: Change import to @class
Dec 7, 2018
76f2274
Revert "Bug fix: Change import to @class"
Dec 7, 2018
b116fd4
Bug fix: avoid compile error.
Dec 7, 2018
a614e22
Bug fix
Dec 7, 2018
ab2d0d6
Change definition enum to NS_ENUM for using on swift.
Dec 7, 2018
57c78ce
Add demo project with carthage.
Dec 7, 2018
d27b3ca
Add property audio as public readonly.
Dec 7, 2018
e1fd0aa
Update imports.
Dec 7, 2018
dfe51a7
Big modification: Add new script files to build ffmpeg with speex.
Dec 12, 2018
e608d53
Update README
Dec 12, 2018
0fa876b
Update README
Dec 12, 2018
a7d0a2a
New feature: brightness filter
Dec 13, 2018
bcb958b
New feature: mute function.
Dec 14, 2018
098592f
Update build scripts.
Dec 14, 2018
cd5e993
Update project settings to build carthage.
Dec 14, 2018
2cc2672
Build script: bug fix.
Dec 14, 2018
72a0cbb
Update project settings and script to build carthage.
Dec 14, 2018
740bd29
Recovery build-speex.sh
Dec 14, 2018
da4997e
Build script: bug fix.
Dec 15, 2018
8295527
New feature snapshot: Make snapshot image from CAEAGLLayer.
Dec 15, 2018
2e581a1
Write comment: Reference site for snapshot function.
Dec 15, 2018
3235914
Bug fix: Solved playing value is not valid when buffer state changed.
Dec 15, 2018
32e07b8
Revert "Bug fix: Solved playing value is not valid when buffer state …
Dec 15, 2018
bd480b0
Bug fix: Solved playing value is not valid when state changed.
Dec 15, 2018
926cc56
Added: function to reset status.
Dec 15, 2018
cbbb421
Modified: function to reset status.
Dec 15, 2018
90cedd7
Bug fix: mute property was invalid.
Dec 17, 2018
1a9b666
Remove define NS_ASSUME_NONNULL_BEGIN
Dec 17, 2018
c10b2e0
Added properties: hasUrl, isPlaying
Dec 17, 2018
6c9cead
Added properties: minBufferDuration, maxBufferDuration.
Dec 17, 2018
f4f230e
Bug fix: property hasUrl in DLGSimplePlayerViewController
Dec 17, 2018
6e6ba2f
Bug fix: Change to set properties according to life cycle of view con…
Dec 17, 2018
d7c16cb
Rollback: Method to add view in superview and layout.
Dec 17, 2018
9c8a8db
Bug fix: Solved wrong status when player paused.
Dec 18, 2018
cffcf2a
Modified: Change member instance to global instance context variable …
Dec 18, 2018
d096072
Added: class method to clear context variable and clear currentContex…
Dec 18, 2018
82cab2e
Remove temp comment.
Dec 18, 2018
3d8d6e1
Added: property renderQueue is dispatch serial queue to render view.
Dec 19, 2018
bff0dd5
Improvement: did make not render if frame has not data.
Dec 19, 2018
44ea6f7
Modified: Exchange status changing to delegate method.
Dec 19, 2018
fa47a5c
Added: new class DLGPlayerControlStatus to manage status of player co…
Dec 19, 2018
3e09948
Added: bufferDuration for audio.
Dec 21, 2018
434e5c1
Modified: Change logic to read frames with NSThread to serial dispatc…
Dec 21, 2018
731f115
Multi threading: make processing queue to handle decoding and read fr…
Dec 21, 2018
2a77da0
Removed: logic for next operation and reset method removed.
Dec 21, 2018
97d571c
Removed: logic for next operation.
Dec 21, 2018
1e3418e
Guard: when audiUnit is null.
Dec 21, 2018
76b39ff
Modified: change default value of audio buffer duration.
Dec 21, 2018
c034246
Bug fix: skip to open or close by state.
Dec 21, 2018
b44f75c
Removed: unnecessary reference variable.
Dec 21, 2018
80dfffb
Bug fix: media position was not valid when reopen.
Dec 22, 2018
fa7ba40
Added: method to set as current context of EAGLContext.
Dec 25, 2018
bfef6b0
Added: in DLGPlayerView and DLGSimplePlayerViewController method name…
Dec 25, 2018
d44a058
Bug fix: change thread to notify error as main.
Dec 25, 2018
231b799
Fixed: black screen issue when using multiple instances.
Dec 25, 2018
5127039
Guard: the audio unit is null.
Jan 2, 2019
514b46a
Removed: the method calling in dealloc.
Jan 3, 2019
8200af5
Added: logic to unregister notifications in dealloc.
Jan 8, 2019
f387012
Solved: crash to create snapshot image when gl is not ready.
Jan 10, 2019
819ceca
Added: log in audioManager.
Jan 11, 2019
404a832
Revert "Added: log in audioManager."
Jan 11, 2019
373816f
Modified: audioUnit set as atomic.
Jan 13, 2019
d61607d
Changed: dispatch queue to open or close the sound.
Jan 14, 2019
88b7ff1
Revert "Changed: dispatch queue to open or close the sound."
Jan 14, 2019
4c983e4
Added: test code.
Jan 14, 2019
c46b6b2
Modified: clear variables when dealloc called in player view.
Feb 12, 2019
49f5b11
Bug fix: change weak reference to strong in close function.
Feb 12, 2019
82602b6
Bug fix
Feb 12, 2019
85bc8f3
Modified: callback function for interrupt static to instance.
Feb 12, 2019
5a12931
Rollback: callback function for interrupt static to instance.
Feb 12, 2019
97bb8d5
Added: function to frameDrop.
Feb 25, 2019
a70e372
Add: logic to drop audio frames in buffer for frame drop function.
Feb 26, 2019
777a274
Revert "Rollback: callback function for interrupt static to instance."
Feb 26, 2019
501a07a
Rollback: frame drop function.
Feb 26, 2019
49e5ec2
Improvement: make it is able to play when audio frame not ready.
Feb 28, 2019
c307623
Modified: change private access limiter to public.
Mar 6, 2019
05e83ff
Modified: set video url as atomic.
Mar 7, 2019
ab7d4d8
Modified: url is synchronized on processing queue.
Mar 7, 2019
89bd6a4
Freezing fixed.
Mar 7, 2019
3e51bd3
Bug fix
Mar 7, 2019
0affc52
Fixed: reference relationship bugs.
Mar 15, 2019
b5c89fa
Fixed: Made disable audio playing and stoping when application is in …
Mar 21, 2019
b742682
Updated: Added defense code for bad access in memory.
Apr 11, 2019
2667f4e
Updated: Bug fix.
Apr 13, 2019
1f6f6d7
Updated: Added defense code.
Apr 15, 2019
3889cce
Updated: Compile error solved.
Apr 15, 2019
a0ee0d6
Updated: Bug fix.
Apr 18, 2019
6f365a5
Revert "Updated: Bug fix."
Apr 18, 2019
5f05a65
Updated: Bug fix.
Apr 19, 2019
44d8ebf
Updated: Change category to AVAudioSessionCategoryAmbient on audio se…
Apr 24, 2019
40a475a
Updated: Set AVAudioSessionCategory by mute.
Apr 25, 2019
a521b8f
Updated: Compile error solved.
Apr 25, 2019
13802d6
Updated: AudioUnitUninitialize added in dealloc.
Apr 25, 2019
74797d4
Updated: Logic for closing is changed.
Apr 26, 2019
98d36da
Updated: Remove comments.
May 1, 2019
63bc251
Updated: Crash solving.
May 1, 2019
0969aa6
Updated: Crash solving.
May 1, 2019
507557f
Updated: Crash solving.
May 1, 2019
932e8ec
Updated: Crash solving.
May 1, 2019
b075784
Updated: Crash solving.
May 1, 2019
2aacc38
Updated: Crash solving.
May 1, 2019
9fd507f
Updated: Crash solving.
May 1, 2019
ca4f956
Updated: Crash solving.
May 1, 2019
533e42e
Updated: Crash solved.
May 2, 2019
747485a
Updated: Bug fix.
May 2, 2019
eda920d
Updated: Logic for guard added.
May 2, 2019
21818aa
Updated: Change thread to render.
May 21, 2019
0478e51
Fixed: issue where rendering process runs after close is called.
May 22, 2019
60968ce
Updated: examples.
May 31, 2019
c513608
Fixed: a bug when playing multiple players.
May 31, 2019
52cf956
Fixed: change rendering queue static to instance.
May 31, 2019
53585c5
Fixed: change rendering queue from instance to static.
Jun 13, 2019
8d751c3
Revert "Fixed: change rendering queue from instance to static."
Jun 18, 2019
26d867e
Fixed: rename close to stop.
Jul 15, 2019
66f8082
Updated: change default value of minBufferDuration to 1 sec.
Aug 7, 2019
1f19bc7
Updated: drop frames beacuse buffer duration is over than max duration.
Aug 7, 2019
71152c9
Updated: add new property isAllowsFrameDrop.
Aug 7, 2019
d542bac
Fixed: add limit for frame dropping.
Aug 9, 2019
c7f3cd2
Updated: change thread queue for decoding.
Aug 9, 2019
e6669f3
Revert "Updated: change thread queue for decoding."
Aug 9, 2019
8aa8962
Fixed: frame drop bug.
Aug 9, 2019
de572ef
Updated: add static property DLGDebugEnabled.
Aug 9, 2019
0522963
Fixed: change logging.
Aug 9, 2019
37e576a
Updated: change default value of property allowsFrameDrop.
Aug 9, 2019
69e1a56
New: support metal to render video.
Aug 22, 2019
ed12e59
Fixed: solve compile error on simulator.
Aug 22, 2019
efee599
Fixed: solve drawable size issue.
Aug 23, 2019
5132592
Merge branch 'feature/metal' into develop
Aug 23, 2019
ffe033a
Merge branch 'release/1.1.0'
Aug 23, 2019
0c3ab5d
Merge tag '1.1.0' into develop
Aug 23, 2019
17effea
Fixed: exception handling for devices that do not support metal.
Sep 4, 2019
7a7f438
Updated: change contentMode to scaleToFill.
Oct 21, 2019
f01541b
Updated: speed testing.
Oct 21, 2019
1be90e7
Updated: add function is adjust speed to play.
Nov 5, 2019
5598784
Fixed: solve crash that invalid request to play audio when audio is n…
Nov 8, 2019
945517c
Fixed: rollback to use semaphore.
Nov 8, 2019
da01563
Fixed: set reference of self as strong.
Nov 18, 2019
cff9508
Fixed: mute is not working.
Nov 19, 2019
8ffcdbc
Updated: set static callback function to instance function for audio.
Nov 19, 2019
801382e
Fixed: solve issue that status dose not change when video done to play.
Nov 20, 2019
f3ef68b
Fixed: skip audio frames if mute is enabled.
Nov 22, 2019
38ad292
Fixed: invalid types.
Nov 25, 2019
3e8dcda
Updated: refactoring - change logic to check metal is support.
Nov 27, 2019
c557c22
Merge branch 'feature/double-speed-playback' into develop
Nov 27, 2019
b2cb7cc
Merge tag '1.2.0' into develop
Nov 27, 2019
ccfb474
Merge branch 'release/1.2.0'
Nov 27, 2019
f7cf1d8
Fixed: remove autoreleasepool.
Dec 3, 2019
c4f7d05
Fixed: add null checking.
Dec 3, 2019
824676e
Fixed: solve memory leaks.
Dec 5, 2019
9ad94f6
Fixed: locks added in clear function.
Dec 6, 2019
ea37bbf
Fixed: clear warnings.
Dec 9, 2019
a6ed658
Fixed: return nil if texture not ready when did request to make snaps…
Dec 9, 2019
a631888
Fixed: guard logic added to initialize with metal.
Dec 9, 2019
14de39b
Fixed: guard logic added to initialize with metal.
Dec 9, 2019
2c8ef89
Fixed: audio not working.
Dec 9, 2019
3a03aa1
Fixed: rollback framedrop function.
Dec 9, 2019
5799fc6
Updated: improvement logic to drop frames.
Dec 10, 2019
0ec36db
Updated: frame drop has changed as fast playing.
Dec 10, 2019
48fde91
Updated: set duration of frame by pts difference if pkt_duration of a…
Dec 11, 2019
3ea4509
Fixed: guard if reference of self is null.
Dec 13, 2019
1f3fe3a
Fixed: thread switching.
Dec 13, 2019
704da19
Fixed: redesign using metal view.
Dec 13, 2019
4f40c33
Fixed: issue that invalid break in loop.
Dec 16, 2019
6f941be
Fixed: guard for crash.
Dec 16, 2019
1b972b7
Revert "Fixed: guard for crash."
Dec 16, 2019
d6a8cdb
Fixed: crash when audio closing.
Dec 16, 2019
5b7101a
Fixed: crash when audio closing.
Dec 16, 2019
f438280
Fixed: new serial queue to process audio.
Dec 16, 2019
798148a
Fixed: crash by audio instance solving.
Dec 16, 2019
56bb325
Fixed: crash by audio instance solving.
Dec 16, 2019
eab487b
Fixed: logic of activation or deactivation removed for audio session.
Dec 16, 2019
fa56427
Fixed: refactoring.
Dec 16, 2019
6ed01bc
Fixed: logic recovered to set active audio session.
Mar 22, 2020
4122d35
Fixed: clear sound by audio interruption.
Mar 24, 2020
8c6eca5
Fixed: solve weak reference crash.
Mar 24, 2020
19dd9a9
Fixed: change to property using variable.
Mar 24, 2020
e3cc861
Fixed: solve critical issue.
Mar 24, 2020
646aa49
Fixed: guard to pause for mute.
Mar 24, 2020
74c7626
Updated: change limit size.
Mar 25, 2020
7739b7c
Updated: add processor macro to check is running on simulator.
Mar 27, 2020
57eda75
Fixed: audio processing.
Apr 20, 2020
e1a7401
Updated: change working dispatch queue of audio to other new static d…
Apr 21, 2020
5598ee7
Fixed: solve crash.
Apr 21, 2020
a111754
Fixed: solve issue that sometime audio does not work.
Apr 22, 2020
a381712
Merge tag '1.2.1' into develop
Apr 22, 2020
b30f18c
Merge branch 'release/1.2.1'
Apr 22, 2020
d8dc3aa
Fixed: memory leak guessing logic.
Apr 28, 2020
013dc65
Fixed: rollback to alloc processing queue.
Apr 29, 2020
1f5e00e
Fixed: bugs.
May 11, 2020
d0359e8
Fixed: remove unnecessary code.
May 11, 2020
be7e396
Fixed: remove unnecessary code.
May 12, 2020
b99849d
Fixed: crash solved.
May 12, 2020
a91a46b
Fixed: null check.
May 13, 2020
ba925f1
Fixed: solve memory leaks and crash.
May 15, 2020
9495452
Merge tag '1.2.2' into develop
May 16, 2020
45b69c3
Merge branch 'release/1.2.2'
May 16, 2020
3b7f0e5
Updated: property frameDropDuration is added.
May 16, 2020
532be21
Merge tag '1.3.0' into develop
May 16, 2020
a389c20
Merge branch 'release/1.3.0'
May 16, 2020
233827a
Fixed: solve crash and memory leaks.
May 19, 2020
ab1cce3
Updated: performance improvement.
May 20, 2020
d593d2d
Merge tag '1.4.0' into develop
May 20, 2020
e044b8e
Merge branch 'release/1.4.0'
May 20, 2020
bf49101
Fixed: solve memory leak of decoder.
May 22, 2020
2fa82ea
Updated: improvement mute logic.
May 25, 2020
3c7559d
Updated: add skip logic for dropped frame of audio.
May 26, 2020
7ba0792
Updated: change frame drop logic.
May 28, 2020
74d999a
Fixed: add limit to sync media.
May 29, 2020
bdb2440
Updated: other linker flags.
May 29, 2020
dd24de6
Updated: add property keepLastFrame.
Jun 3, 2020
d65d2dc
Updated: add property isKeepLastFrame.
Jun 3, 2020
eda6f15
Fixed: solve issue what crash to read frames.
Jun 3, 2020
66fbb7f
Updated: add function named clear contents of view.
Jun 3, 2020
bde10fe
Fixed: change duration for frame from pkt_duration to diff of frames.
Jun 3, 2020
5c76f6e
Merge branch 'release/1.4.1'
Jul 13, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -59,3 +59,7 @@ fastlane/screenshots
# https://github.com/johnno1962/injectionforxcode

iOSInjectionProject/

libs/build/

Example-Carthage/Carthage/
3 changes: 3 additions & 0 deletions Carthage.xcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ONLY_ACTIVE_ARCH = YES
ENABLE_BITCODE = YES
OTHER_CFLAGS = "-fembed-bitcode"
848 changes: 848 additions & 0 deletions DLGPlayer.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>
99 changes: 99 additions & 0 deletions DLGPlayer.xcodeproj/xcshareddata/xcschemes/DLGPlayer.xcscheme
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1010"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "23DC26CD21B80F5A0012243A"
BuildableName = "DLGPlayer.framework"
BlueprintName = "DLGPlayer"
ReferencedContainer = "container:DLGPlayer.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "23DC26D621B80F5A0012243A"
BuildableName = "DLGPlayerTests.xctest"
BlueprintName = "DLGPlayerTests"
ReferencedContainer = "container:DLGPlayer.xcodeproj">
</BuildableReference>
</TestableReference>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "23DC26CD21B80F5A0012243A"
BuildableName = "DLGPlayer.framework"
BlueprintName = "DLGPlayer"
ReferencedContainer = "container:DLGPlayer.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Release"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "23DC26CD21B80F5A0012243A"
BuildableName = "DLGPlayer.framework"
BlueprintName = "DLGPlayer"
ReferencedContainer = "container:DLGPlayer.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "23DC26CD21B80F5A0012243A"
BuildableName = "DLGPlayer.framework"
BlueprintName = "DLGPlayer"
ReferencedContainer = "container:DLGPlayer.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
92 changes: 92 additions & 0 deletions DLGPlayer.xcodeproj/xcshareddata/xcschemes/DLGPlayerDemo.xcscheme
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1030"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "239BC96D21C234CF00DEEC73"
BuildableName = "DLGPlayerDemo.app"
BlueprintName = "DLGPlayerDemo"
ReferencedContainer = "container:DLGPlayer.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "239BC96D21C234CF00DEEC73"
BuildableName = "DLGPlayerDemo.app"
BlueprintName = "DLGPlayerDemo"
ReferencedContainer = "container:DLGPlayer.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
enableGPUFrameCaptureMode = "3"
allowLocationSimulation = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "239BC96D21C234CF00DEEC73"
BuildableName = "DLGPlayerDemo.app"
BlueprintName = "DLGPlayerDemo"
ReferencedContainer = "container:DLGPlayer.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
buildConfiguration = "Debug"
shouldUseLaunchSchemeArgsEnv = "NO"
savedToolIdentifier = "Leaks"
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "239BC96D21C234CF00DEEC73"
BuildableName = "DLGPlayerDemo.app"
BlueprintName = "DLGPlayerDemo"
ReferencedContainer = "container:DLGPlayer.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
39 changes: 29 additions & 10 deletions DLGPlayer/DLGPlayer.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,45 @@
//

#import <UIKit/UIKit.h>
#import "DLGPlayerAudioFrame.h"
#import "DLGPlayerAudioManager.h"
#import "DLGPlayerControlStatus.h"
#import "DLGPlayerDef.h"
#import "DLGPlayerDecoder.h"
#import "DLGPlayerFrame.h"
#import "DLGPlayerUtils.h"
#import "DLGPlayerVideoFrame.h"
#import "DLGPlayerVideoRGBFrame.h"
#import "DLGPlayerVideoYUVFrame.h"
#import "DLGPlayerViewController.h"
#import "DLGSimplePlayerViewController.h"

typedef void (^onPauseComplete)(void);

@interface DLGPlayer : NSObject

@property (readonly, strong) UIView *playerView;

@property (nonatomic) double minBufferDuration;
@property (nonatomic) double maxBufferDuration;
@property (nonatomic) BOOL allowsFrameDrop;
@property (nonatomic) BOOL keepLastFrame;
@property (nonatomic) BOOL mute;
@property (atomic) BOOL playing;
@property (atomic) BOOL buffering;
@property (atomic) BOOL opened;
@property (nonatomic) float brightness;
@property (atomic) double frameDropDuration;
@property (atomic) double minBufferDuration;
@property (atomic) double maxBufferDuration;
@property (nonatomic) double position;
@property (nonatomic) double duration;
@property (nonatomic) BOOL opened;
@property (nonatomic) BOOL playing;
@property (nonatomic) BOOL buffering;
@property (nonatomic) double speed;
@property (nonatomic, strong) NSDictionary *metadata;
@property (nonatomic, readonly) UIView *playerView;
@property (nonatomic, readonly) DLGPlayerAudioManager *audio;

- (void)open:(NSString *)url;
- (void)clearView;
- (void)close;
- (void)closeAudio;
- (void)closeCompletely;
- (void)open:(NSString *)url;
- (void)play;
- (void)pause;

- (UIImage *)snapshot;
@end
Loading