I would like to know if there is anything to fix this problem with HDMI output on iOS 7.1:
We have a Video on Demand app that we want people to be able to use with Airplay or HDMI via a Lightning HDMI cable. We support both iOS 7.1 and iOS 8.x. We have enabled allowsExternalPlaybackon our AVPlayer.
We use Fairplay Encrypted HLS streams for our videos, and they work great when playing on the device (iOS 7 and 8), Airplay via Apple TV (iOS 7 and 8) and HDMI on iOS 8. However, on iOS 7 when you plug in the Lightning cable -HDMI to the device while playing video on the device and the TV, the TV just shows one frame of the video and pauses (AVPlayer speed: 0). The same thing happens when you plug it in before playing the video when you start the video on the device.
Unfortunately, you cannot start the xCode debugger, because you need a USB cable connected to the device. Device logs are not very useful.
Oct 24 13:14:46 iapd[177] <Warning>: {MediaLibrary} Database validation succeeded
Oct 24 13:14:47 iapd[177] <Warning>: /SourceCache/iapd/iapd-1386.10.43/iapd/EAManager.mm:-[EAManager _takeClientAssertionsForAccessoryConnection]-1607 client (null)
Oct 24 13:14:47 iapd[177] <Warning>: AccessoryInfo = {
Oct 24 13:14:47 iapd[177] <Warning>: IAPAppAccessoryNameKey = Apple Digital AV Adapter;
Oct 24 13:14:47 iapd[177] <Warning>: IAPAppAccessoryManufacturerKey = Apple;
Oct 24 13:14:47 iapd[177] <Warning>: IAPAppAccessoryModelNumberKey = A1438;
Oct 24 13:14:47 iapd[177] <Warning>: IAPAppAccessoryFirmwareRevisionKey = 7.1.0 (11D7155);
Oct 24 13:14:47 iapd[177] <Warning>: IAPAppAccessoryHardwareRevisionKey = 1.0.0;
Oct 24 13:14:47 iapd[177] <Warning>: } // End AccessoryInfo
Oct 24 13:14:47 mediaserverd[29] <Notice>: [13:14:47.083] <<< neroendpoint >>> nmanager_discoveryHandler: mediaserverd detected a Nero USB device
Oct 24 13:14:47 mediaserverd[29] <Notice>: 2014-10-24 01:14:47.083479 PM [AirPlay] Inhibit AirPlay Screen: yes
Oct 24 13:14:47 backboardd[31] <Notice>: IOMFB setting virtual mode: 0 0
Oct 24 13:14:47 backboardd[31] <Notice>: IOMFB setting virtual mode: 0 0
Oct 24 13:14:47 backboardd[31] <Warning>: CoreAnimation: updates deferred for too long
Oct 24 13:14:47 kernel[0] <Debug>: VXE380: openGated (0xffffff809072ca00 current 0xffffff8000900000 ID 1 dev f6 (force f0)) cl registered = 1 (clock 0 H5speed 0 H5f 65535)
Oct 24 13:14:47 iapd[177] <Warning>: ERROR - /SourceCache/iapd/iapd-1386.10.43/iapd/IAPPortManager.mm:__accessoryPortManagerInterest - 69 no transport found for portNumber 1
Oct 24 13:14:47 mediaserverd[29] <Notice>: [13:14:47.527] <<<< FigVirtualDisplaySinkOctavia >>>> octaviaSink_PushFrame: mediaserverd started mirroring to Nero
Oct 24 13:14:47 kernel[0] <Debug>: virtual void AppleMobileADBE0::mieEnable(bool, bool), Pixel-Backlight Modulator: 0
Oct 24 13:14:47 kernel[0] <Debug>: void DPBDriver::bypass(), DPB Bypassed
Oct 24 13:14:47 kernel[0] <Debug>: VXE380: STOP sent 2 enc 2 dropped 0 I 1 P 1 P->I 0 B 0 re-encI 0 re-encP 0 should-be-dropped 0 HSH5 0 (stats 2 0 0 0 0 0 0 0)
Oct 24 13:14:47 kernel[0] <Debug>: VXE380: closeGated (0xffffff809072ca00) cl left: 0
Oct 24 13:14:47 kernel[0] <Debug>: VXE380: openGated (0xffffff809072ca00 current 0xffffff80008db000 ID 2 dev f6 (force f0)) cl registered = 1 (clock 0 H5speed 0 H5f 65535)
Oct 24 13:14:48 MyApp[172] <Warning>: [1414152888.370] sid=440785955 Monitor: player state changes to BUFFERING (6).
Oct 24 13:14:48 MyApp[172] <Warning>: <redacted> + DEBUG: Silent switch is off, route: HDMI
Oct 24 13:14:48 MyApp[172] <Warning>: <redacted> + DEBUG: Updating resume milestone to: 28.339840
Oct 24 13:14:48 MyApp[172] <Warning>: <redacted> + DEBUG: EpisodeResumeDetail: Setting last milestone to 28
Oct 24 13:14:51 MyApp[172] <Warning>: springstreams (iOS 1.1.0)> http status code: 200 - no error
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: IOAudioCodecsUserClient::setProperties : compressionType = 0
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: targetLevel = 0x00000000
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: cutFactor = 0x3f800000
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: boostFactor = 0x3f800000
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: IOAudioCodecsUserClient::setProperties : compressionType = 0
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: targetLevel = 0x00000000
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: cutFactor = 0x3f800000
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: boostFactor = 0x3f800000
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: IOAudioCodecsUserClient::setProperties : compressionType = 0
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: targetLevel = 0x00000000
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: cutFactor = 0x3f800000
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: boostFactor = 0x3f800000
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: IOAudioCodecsUserClient::setProperties : compressionType = 0
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: targetLevel = 0x00000000
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: cutFactor = 0x3f800000
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: boostFactor = 0x3f800000
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: IOAudioCodecsUserClient::setProperties : compressionType = 0
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: targetLevel = 0x00000000
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: cutFactor = 0x3f800000
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: boostFactor = 0x3f800000
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: IOAudioCodecsUserClient::setProperties : compressionType = 0
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: targetLevel = 0x00000000
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: cutFactor = 0x3f800000
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: boostFactor = 0x3f800000
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: IOAudioCodecsUserClient::setProperties : compressionType = 0
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: targetLevel = 0x00000000
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: cutFactor = 0x3f800000
Oct 24 13:14:53 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff80906d4a00]::setProperties: boostFactor = 0x3f800000
Oct 24 13:14:53 kernel[0] <Debug>: VXE380: STOP sent 364 enc 364 dropped 0 I 1 P 363 P->I 0 B 0 re-encI 0 re-encP 0 should-be-dropped 0 HSH5 0 (stats 363 1 0 0 0 0 0 0)
Oct 24 13:14:53 kernel[0] <Debug>: VXE380: closeGated (0xffffff809072ca00) cl left: 0
Oct 24 13:14:56 mediaserverd[29] <Error>: 13:14:56.964 ERROR: [0x1024b0000] >aq> 1584: Exiting because mConverterError is 'nope' (0x2000 req, 0x0 primed)
Oct 24 13:14:56 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff808f7c4000]::setProperties: IOAudioCodecsUserClient::setProperties : compressionType = 0
Oct 24 13:14:56 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff808f7c4000]::setProperties: targetLevel = 0x00000000
Oct 24 13:14:56 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff808f7c4000]::setProperties: cutFactor = 0x3f800000
Oct 24 13:14:56 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff808f7c4000]::setProperties: boostFactor = 0x3f800000
Oct 24 13:14:56 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff808f7c4000]::setProperties: IOAudioCodecsUserClient::setProperties : compressionType = 0
Oct 24 13:14:56 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff808f7c4000]::setProperties: targetLevel = 0x00000000
Oct 24 13:14:56 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff808f7c4000]::setProperties: cutFactor = 0x3f800000
Oct 24 13:14:56 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff808f7c4000]::setProperties: boostFactor = 0x3f800000
Oct 24 13:14:56 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff808f7c4000]::setProperties: IOAudioCodecsUserClient::setProperties : compressionType = 0
Oct 24 13:14:56 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff808f7c4000]::setProperties: targetLevel = 0x00000000
Oct 24 13:14:56 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff808f7c4000]::setProperties: cutFactor = 0x3f800000
Oct 24 13:14:56 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff808f7c4000]::setProperties: boostFactor = 0x3f800000
Oct 24 13:14:56 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff808f7c4000]::setProperties: IOAudioCodecsUserClient::setProperties : compressionType = 0
Oct 24 13:14:56 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff808f7c4000]::setProperties: targetLevel = 0x00000000
Oct 24 13:14:56 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff808f7c4000]::setProperties: cutFactor = 0x3f800000
Oct 24 13:14:56 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff808f7c4000]::setProperties: boostFactor = 0x3f800000
Oct 24 13:14:56 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff808f7c4000]::setProperties: IOAudioCodecsUserClient::setProperties : compressionType = 0
Oct 24 13:14:56 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff808f7c4000]::setProperties: targetLevel = 0x00000000
Oct 24 13:14:56 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff808f7c4000]::setProperties: cutFactor = 0x3f800000
Oct 24 13:14:56 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff808f7c4000]::setProperties: boostFactor = 0x3f800000
Oct 24 13:14:56 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff808f7c4000]::setProperties: IOAudioCodecsUserClient::setProperties : compressionType = 0
Oct 24 13:14:56 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff808f7c4000]::setProperties: targetLevel = 0x00000000
Oct 24 13:14:56 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff808f7c4000]::setProperties: cutFactor = 0x3f800000
Oct 24 13:14:56 kernel[0] <Debug>: IOAudioCodecsUserClient[0xffffff808f7c4000]::setProperties: boostFactor = 0x3f800000
Oct 24 13:14:56 mediaserverd[29] <Error>: 13:14:56.965 ERROR: [0x1024b0000] >aq> 1605: failed ('nope'); will stop (8192/0 frames)
Oct 24 13:14:57 mediaserverd[29] <Error>: 13:14:57.254 ERROR: [0x1024b0000] >aq> 1584: Exiting because mConverterError is 'nope' (0x20000 req, 0x0 primed)
Oct 24 13:14:57 mediaserverd[29] <Error>: 13:14:57.255 ERROR: [0x1024b0000] >aq> 1605: failed ('nope'); will stop (131072/0 frames)
Oct 24 13:14:57 MyApp[172] <Warning>: [1414152897.282] sid=440785955 Monitor: player state changes to PLAYING (3).
Oct 24 13:14:57 MyApp[172] <Warning>: <redacted> + DEBUG: ###### handleDurationDidChange, time now 2783.040000
Oct 24 13:14:57 MyApp[172] <Warning>: <redacted> + DEBUG: Updating resume milestone to: 28.338840
Oct 24 13:14:57 MyApp[172] <Warning>: <redacted> + DEBUG: EpisodeResumeDetail: Setting last milestone to 28
Oct 24 13:14:59 MyApp[172] <Warning>: [1414152899.456] sid=440785955 Monitor: player state changes to PAUSED (12).
Oct 24 13:14:59 MyApp[172] <Warning>: <redacted> + DEBUG: EpisodeResumeDetail: Setting last milestone to 28
Oct 24 13:15:00 fud[174] <Notice>: Nothing left to do, exiting.
Oct 24 13:15:00 fud[174] <Notice>: Successfully serialized to disk
source
share