mikehouse / Apple-TV-Player

Apple TV m3u iptv player tvOS free open source
MIT License
120 stars 25 forks source link

Native tvOS Player is not working #4

Open royial opened 7 months ago

royial commented 7 months ago

I added a playlist to the app. The only player who worked with my list is VLC but VLC doesn't support HLG (HDR). I tried to change to the Native player and it's not loading any stream. Any idea?

Based on the logs - RAM and CPU are fine

This is what I saw in the debug window when I tested in the simulator:

set channel to play using native player from #REMOVED_THE_LINK# nw_protocol_get_quic_image_block_invoke dlopen libquic failed: dlopen(/usr/lib/libquic.dylib, 0x0005): tried: Library/Developer/Xcode/DerivedData/Apple-TV-Player-chslmibzqaccrrahnibbirlybjqs/Build/Products/Debug-appletvsimulator/libquic.dylib' (no such file), '/Library/Developer/CoreSimulator/Volumes/tvOS_21K364/Library/Developer/CoreSimulator/Profiles/Runtimes/tvOS 17.2.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/introspection/libquic.dylib' (no such file), '/Library/Developer/CoreSimulator/Volumes/tvOS_21K364/Library/Developer/CoreSimulator/Profiles/Runtimes/tvOS 17.2.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libquic.dylib' (no such file), '/usr/lib/libquic.dylib' (no such file, not in dyld cache) Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. ( "= 217 (active)>", "<NSLayoutConstraint:0x60000217c280 H:|-(>=95)-[UIStackView:0x10332c6f0] (active, names: '|':UIView:0x10332dc30 )>", "<NSLayoutConstraint:0x60000217c2d0 UIStackView:0x10332c6f0.trailing == UIView:0x10332dc30.trailing - 95 (active)>", "<NSLayoutConstraint:0x60000217c410 H:|-(0)-[UIView:0x10332dc30] (active, names: '|':_AVFocusContainerView:0x1032535d0 )>", "<NSLayoutConstraint:0x60000217c460 UIView:0x10332dc30.trailing == _AVFocusContainerView:0x1032535d0.trailing (active)>", "<NSLayoutConstraint:0x60000217d860 '_UITemporaryLayoutWidth' _AVFocusContainerView:0x1032535d0.width == 0 (active)>" )

Will attempt to recover by breaking constraint

= 217 (active)> Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger. The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in may also be helpful. Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. ( "=95)-[UIStackView:0x10332c6f0] (active, names: '|':UIView:0x10332dc30 )>", "", "", "", "" ) Will attempt to recover by breaking constraint Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger. The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in may also be helpful. +[AVInfoPanelPlaybackMetadata _metadataItemsForPlayerItem:withAsset:]: metadata has not yet been loaded: this is the caller's responsibility! +[AVInfoPanelPlaybackMetadata _metadataItemsForPlayerItem:withAsset:]: metadata has not yet been loaded: this is the caller's responsibility! +[AVInfoPanelPlaybackMetadata _metadataItemsForPlayerItem:withAsset:]: metadata has not yet been loaded: this is the caller's responsibility! UITextView 0x10284ec00 is switching to TextKit 1 compatibility mode because its layoutManager was accessed. Break on void _UITextViewEnablingCompatibilityMode(UITextView *__strong, BOOL) to debug. +[AVInfoPanelPlaybackMetadata _metadataItemsForPlayerItem:withAsset:]: metadata has not yet been loaded: this is the caller's responsibility! +[AVInfoPanelPlaybackMetadata _metadataItemsForPlayerItem:withAsset:]: metadata has not yet been loaded: this is the caller's responsibility! +[AVInfoPanelPlaybackMetadata _metadataItemsForPlayerItem:withAsset:]: metadata has not yet been loaded: this is the caller's responsibility! When I did on the apple tv: RAM Stats: use: 1.91 GB, free: 1.84 GB, total: 3.75 GB CPU load: 7% set channel to play using native player from #REMOVED_THE_LINK# Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. ( "= 217 (active)>", "=95)-[UIStackView:0x102c479d0] (active, names: '|':UIView:0x102c48d10 )>", "", "", "", "" ) Will attempt to recover by breaking constraint = 217 (active)> Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger. The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in may also be helpful. Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. ( "=95)-[UIStackView:0x102c479d0] (active, names: '|':UIView:0x102c48d10 )>", "", "", "", "" ) Will attempt to recover by breaking constraint Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger. The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in may also be helpful. FBSSceneClientSettings unable to read remoteFocusParentModeEnabled property. Responds to selector: 0. Implements extension: 0. Description: (null) FBSSceneSettings unable to read remoteFocusChildModeEnabled property. Responds to selector: 1. Implements extension: 0. Description: { settings = { displayConfiguration = ; frame = NSRect: {{0, 0}, {1920, 1080}}; interfaceOrientation = portrait (1); }; subclassSettings = { userInterfaceStyle = dark; artworkSubtype = 0; }; } FBSSceneSettings unable to read remoteFocusChildModeEnabled property. Responds to selector: 1. Implements extension: 0. Description: { settings = { displayConfiguration = ; frame = NSRect: {{0, 0}, {1920, 1080}}; interfaceOrientation = portrait (1); }; subclassSettings = { userInterfaceStyle = dark; artworkSubtype = 0; }; } FBSSceneSettings unable to read remoteFocusChildModeEnabled property. Responds to selector: 1. Implements extension: 0. Description: { settings = { displayConfiguration = ; frame = NSRect: {{0, 0}, {1920, 1080}}; interfaceOrientation = portrait (1); }; subclassSettings = { userInterfaceStyle = dark; artworkSubtype = 0; }; } FBSSceneSettings unable to read remoteFocusChildModeEnabled property. Responds to selector: 1. Implements extension: 0. Description: { settings = { displayConfiguration = ; frame = NSRect: {{0, 0}, {1920, 1080}}; interfaceOrientation = portrait (1); }; subclassSettings = { userInterfaceStyle = dark; artworkSubtype = 0; }; } +[AVInfoPanelPlaybackMetadata _metadataItemsForPlayerItem:withAsset:]: metadata has not yet been loaded: this is the caller's responsibility! +[AVInfoPanelPlaybackMetadata _metadataItemsForPlayerItem:withAsset:]: metadata has not yet been loaded: this is the caller's responsibility! +[AVInfoPanelPlaybackMetadata _metadataItemsForPlayerItem:withAsset:]: metadata has not yet been loaded: this is the caller's responsibility! +[AVInfoPanelPlaybackMetadata _metadataItemsForPlayerItem:withAsset:]: metadata has not yet been loaded: this is the caller's responsibility! UITextView 0x104818000 is switching to TextKit 1 compatibility mode because its layoutManager was accessed. Break on void _UITextViewEnablingCompatibilityMode(UITextView *__strong, BOOL) to debug. +[AVInfoPanelPlaybackMetadata _metadataItemsForPlayerItem:withAsset:]: metadata has not yet been loaded: this is the caller's responsibility! +[AVInfoPanelPlaybackMetadata _metadataItemsForPlayerItem:withAsset:]: metadata has not yet been loaded: this is the caller's responsibility! RAM Stats: use: 1.92 GB, free: 1.83 GB, total: 3.75 GB CPU load: 7% RAM Stats: use: 1.92 GB, free: 1.83 GB, total: 3.75 GB CPU load: 1% p.s - thank you for a great initiative!
mikehouse commented 7 months ago

Hi. Yes, you're absolutely right, native tvOS player doesn't work in Simulators. I even did a workaround for this here https://github.com/mikehouse/Apple-TV-Player/commit/a5bfa4ec96132c7e183e45df8773548fad08e3dc, but later removed it. You can freely do the same thing. Thank you for feedback!

royial commented 7 months ago

Hi again - I also tested it on Apple TV 4K and getting the following error when trying to watch the stream: When I did on the apple tv: RAM Stats: use: 1.91 GB, free: 1.84 GB, total: 3.75 GB CPU load: 7% set channel to play using native player from #REMOVED_THE_LINK# Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. ( "= 217 (active)>", "<NSLayoutConstraint:0x283e150e0 H:|-(>=95)-[UIStackView:0x102c479d0] (active, names: '|':UIView:0x102c48d10 )>", "<NSLayoutConstraint:0x283e15130 UIStackView:0x102c479d0.trailing == UIView:0x102c48d10.trailing - 95 (active)>", "<NSLayoutConstraint:0x283e15270 H:|-(0)-[UIView:0x102c48d10] (active, names: '|':_AVFocusContainerView:0x102606460 )>", "<NSLayoutConstraint:0x283e152c0 UIView:0x102c48d10.trailing == _AVFocusContainerView:0x102606460.trailing (active)>", "<NSLayoutConstraint:0x283e166c0 '_UITemporaryLayoutWidth' _AVFocusContainerView:0x102606460.width == 0 (active)>" )

Will attempt to recover by breaking constraint

= 217 (active)> Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger. The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in may also be helpful. Unable to simultaneously satisfy constraints. Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. ( "=95)-[UIStackView:0x102c479d0] (active, names: '|':UIView:0x102c48d10 )>", "", "", "", "" ) Will attempt to recover by breaking constraint Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger. The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in may also be helpful. FBSSceneClientSettings unable to read remoteFocusParentModeEnabled property. Responds to selector: 0. Implements extension: 0. Description: (null) FBSSceneSettings unable to read remoteFocusChildModeEnabled property. Responds to selector: 1. Implements extension: 0. Description: { settings = { displayConfiguration = ; frame = NSRect: {{0, 0}, {1920, 1080}}; interfaceOrientation = portrait (1); }; subclassSettings = { userInterfaceStyle = dark; artworkSubtype = 0; }; } FBSSceneSettings unable to read remoteFocusChildModeEnabled property. Responds to selector: 1. Implements extension: 0. Description: { settings = { displayConfiguration = ; frame = NSRect: {{0, 0}, {1920, 1080}}; interfaceOrientation = portrait (1); }; subclassSettings = { userInterfaceStyle = dark; artworkSubtype = 0; }; } FBSSceneSettings unable to read remoteFocusChildModeEnabled property. Responds to selector: 1. Implements extension: 0. Description: { settings = { displayConfiguration = ; frame = NSRect: {{0, 0}, {1920, 1080}}; interfaceOrientation = portrait (1); }; subclassSettings = { userInterfaceStyle = dark; artworkSubtype = 0; }; } FBSSceneSettings unable to read remoteFocusChildModeEnabled property. Responds to selector: 1. Implements extension: 0. Description: { settings = { displayConfiguration = ; frame = NSRect: {{0, 0}, {1920, 1080}}; interfaceOrientation = portrait (1); }; subclassSettings = { userInterfaceStyle = dark; artworkSubtype = 0; }; } +[AVInfoPanelPlaybackMetadata _metadataItemsForPlayerItem:withAsset:]: metadata has not yet been loaded: this is the caller's responsibility! +[AVInfoPanelPlaybackMetadata _metadataItemsForPlayerItem:withAsset:]: metadata has not yet been loaded: this is the caller's responsibility! +[AVInfoPanelPlaybackMetadata _metadataItemsForPlayerItem:withAsset:]: metadata has not yet been loaded: this is the caller's responsibility! +[AVInfoPanelPlaybackMetadata _metadataItemsForPlayerItem:withAsset:]: metadata has not yet been loaded: this is the caller's responsibility! UITextView 0x104818000 is switching to TextKit 1 compatibility mode because its layoutManager was accessed. Break on void _UITextViewEnablingCompatibilityMode(UITextView *__strong, BOOL) to debug. +[AVInfoPanelPlaybackMetadata _metadataItemsForPlayerItem:withAsset:]: metadata has not yet been loaded: this is the caller's responsibility! +[AVInfoPanelPlaybackMetadata _metadataItemsForPlayerItem:withAsset:]: metadata has not yet been loaded: this is the caller's responsibility! RAM Stats: use: 1.92 GB, free: 1.83 GB, total: 3.75 GB CPU load: 7% RAM Stats: use: 1.92 GB, free: 1.83 GB, total: 3.75 GB CPU load: 1% Any idea?