I am having some trouble getting my LiveTV (mythtv) working with SPMC 14.2 and hardware acceleration enabled:
I used an advancedsettings.xml setup that someone had for the AFTV to use hardware acceleration for the AFTV depending on the content (SD vs HD) . I really don't know if this file is correct but I did a short control experiment.
advancedsettings.xml
<video>
<stagefright>
<!-- -1 is default, 0 is never used this codec, 1 is always use this codec, bypassing blacklist -->
<useavccodec>hd</useavccodec>
<usevc1codec>hd</usevc1codec>
<usevpxcodec>hd</usevpxcodec>
<usemp4codec>hd</usemp4codec>
<usempeg2codec>hd</usempeg2codec>
<useswrenderer>false</useswrenderer>
</stagefright>
<mediacodec>
<!-- -1 is default, 0 is never used this codec, 1 is always use this codec, bypassing blacklist -->
<useavccodec>hd</useavccodec>
<usevc1codec>hd</usevc1codec>
<usevpxcodec>hd</usevpxcodec>
<usemp4codec>hd</usemp4codec>
<usempeg2codec>1</usempeg2codec>
<useswrenderer>false</useswrenderer>
</mediacodec>
</video>
I went into general settings - video - hardware acceleration and did the following experiments
Exp #1: SD with both libstagefright and mediacodec enabled---------------------> timeout
Exp #2 - SD with libstagefright enabled and mediacodec disabled --------------> worked for SD content , timeout for HD
Exp #3 - HD 720p with libstagefright enabled and mediacodec disabled ------> timeout for HD content
Exp #4 - HD 720p with libstagefright enabled and mediacodec enabled-------> timeout for HD content
Exp #5 - HD 1080i with libstagefright enabled and mediacodec enabled------> timeout for HD content
Exp #6 - HD 1080i with libstagefright enabled and mediacodec disabled-----> timeout for HD content
If I had libstagefright disabled and mediacodec enabled ---> no hardware acceleration and no timeouts for SD or HD
If I had libstagefright disabled and mediacode disabled ----> no hardware acceleration and no timeouts for SD or HD
Here are the details...
Exp #1: SD with both libstagefright and mediacodec enabled
Timed out....
05:20:35 T:1726257096 NOTICE: Creating video thread
05:20:35 T:1726257096 NOTICE: Opening stream: 1 source: 256
05:20:35 T:1726257096 NOTICE: Finding audio codec for: 86019
05:20:35 T:1740096864 NOTICE: Thread DVDPlayerVideo start, auto delete: false
05:20:35 T:1740096864 NOTICE: running thread: video_thread
05:20:35 T:1726257096 NOTICE: Creating audio thread
05:20:35 T:1751462984 NOTICE: Thread DVDPlayerAudio start, auto delete: false
05:20:35 T:1751462984 NOTICE: running thread: CDVDPlayerAudio:
rocess()
05:20:35 T:1726257096 NOTICE: Opening stream: 0 source: 256
05:20:35 T:1726257096 NOTICE: Creating video codec with codec id: 2
05:20:35 T:1726692480 NOTICE: Thread CStageFrightDecodeThread start, auto delete: true
05:20:35 T:1726257096 ERROR: CDVDVideoCodecAndroidMediaCodec:: Failed to create Android MediaCodec
05:20:35 T:1726257096 ERROR: CDVDVideoCodecStageFright::virtual bool CDVDVideoCodecStageFright::Open(CDVDStreamInfo&, CDVDCodecOptions&) - failed to open, codec(2), profile(-99), level(-99)
05:20:35 T:1726257096 NOTICE: CDVDVideoCodecFFmpeg::Open() Using codec: MPEG-2 video
05:20:35 T:1751462984 NOTICE: Creating audio stream (codec id: 86019, channels: 6, sample rate: 48000, no pass-through)
05:20:36 T:1751462984 ERROR: CDVDAudio::AddPacketsRenderer - timeout adding data to renderer
Exp #2 - SD with libstagefright enabled and mediacodec disabled
Hardware acceleration worked.... stf was shown and picture seemed fine....
Worked multiple times
5:32:01 T:1675158528 NOTICE: Opening stream: 0 source: 256
05:32:01 T:1675158528 NOTICE: Creating video codec with codec id: 2
05:32:01 T:1675158528 NOTICE: Creating video thread
05:32:01 T:1675158528 NOTICE: Opening stream: 1 source: 256
05:32:01 T:1675158528 NOTICE: Finding audio codec for: 86019
05:32:01 T:1685762728 NOTICE: Thread CStageFrightDecodeThread start, auto delete: true
05:32:01 T:1748681752 NOTICE: Thread DVDPlayerVideo start, auto delete: false
05:32:01 T:1748681752 NOTICE: running thread: video_thread
05:32:01 T:1675158528 NOTICE: Creating audio thread
05:32:01 T:1739259976 NOTICE: Thread DVDPlayerAudio start, auto delete: false
05:32:01 T:1739259976 NOTICE: running thread: CDVDPlayerAudio:
rocess()
05:32:01 T:1675158528 NOTICE: Opening stream: 0 source: 256
05:32:01 T:1675158528 NOTICE: Creating video codec with codec id: 2
05:32:01 T:1739259976 NOTICE: Creating audio stream (codec id: 86019, channels: 6, sample rate: 48000, no pass-through)
05:32:01 T:1743065000 NOTICE: Thread CStageFrightDecodeThread start, auto delete: true
05:32:01 T:1748681752 NOTICE: fps: 29.970030, pwidth: 720, pheight: 480, dwidth: 640, dheight: 480
05:32:01 T:1748681752 NOTICE: Display resolution DESKTOP : 1920x1080 @ 60.00 - Full Screen (16)
05:32:01 T:1079205680 NOTICE: Using GL_TEXTURE_2D
05:32:01 T:1079205680 NOTICE: GL: Using EGL Image render method
05:32:01 T:1079205680 NOTICE: GL: NPOT texture support detected
05:32:08 T:1079205680 WARNING: Skin has invalid include: VisibleFadeEffect
05:32:40 T:1079205680 NOTICE: CDVDPlayer::CloseFile()
05:32:40 T:1675158528 NOTICE: CDVDPlayer::OnExit()
05:32:40 T:1675158528 NOTICE: Closing stream player 1
Exp #3 - HD 720p with libstagefright enabled and mediacodec disabled
timedout
5:38:34 T:1671960960 NOTICE: Creating InputStream
05:38:37 T:1671960960 NOTICE: Creating Demuxer
05:38:37 T:1671960960 ERROR: SelectionStream& CSelectionStreams::Get(StreamType, int) - failed to get stream
05:38:37 T:1671960960 WARNING: CDVDMessageQueue(audio):
ut MSGQ_NOT_INITIALIZED
05:38:37 T:1671960960 WARNING: CDVDMessageQueue(video):
ut MSGQ_NOT_INITIALIZED
05:38:37 T:1671960960 NOTICE: Opening stream: 0 source: 256
05:38:37 T:1671960960 NOTICE: Creating video codec with codec id: 2
05:38:37 T:1674386064 NOTICE: 1Channel: Service: Playback started
05:38:38 T:1732196792 NOTICE: Thread CStageFrightDecodeThread start, auto delete: true
05:38:38 T:1671960960 NOTICE: Creating video thread
05:38:38 T:1671960960 NOTICE: Opening stream: 1 source: 256
05:38:38 T:1731797328 NOTICE: Thread DVDPlayerVideo start, auto delete: false
05:38:38 T:1671960960 NOTICE: Finding audio codec for: 86019
05:38:38 T:1731797328 NOTICE: running thread: video_thread
05:38:38 T:1671960960 NOTICE: Creating audio thread
05:38:38 T:1861078704 NOTICE: Thread DVDPlayerAudio start, auto delete: false
05:38:38 T:1861078704 NOTICE: running thread: CDVDPlayerAudio:
rocess()
05:38:38 T:1671960960 NOTICE: Opening stream: 0 source: 256
05:38:38 T:1671960960 NOTICE: Creating video codec with codec id: 2
05:38:38 T:1693483728 NOTICE: Thread CStageFrightDecodeThread start, auto delete: true
05:38:38 T:1861078704 NOTICE: Creating audio stream (codec id: 86019, channels: 6, sample rate: 48000, no pass-through)
05:38:39 T:1861078704 ERROR: CDVDAudio::AddPacketsRenderer - timeout adding data to rendere
Exp #4 - HD 720p with libstagefright enabled and mediacodec enabled
Timed out
05:42:50 T:1674143408 NOTICE: Creating InputStream
05:42:53 T:1674143408 NOTICE: Creating Demuxer
05:42:53 T:1674143408 ERROR: SelectionStream& CSelectionStreams::Get(StreamType, int) - failed to get stream
05:42:53 T:1674143408 WARNING: CDVDMessageQueue(audio):
ut MSGQ_NOT_INITIALIZED
05:42:53 T:1674143408 WARNING: CDVDMessageQueue(video):
ut MSGQ_NOT_INITIALIZED
05:42:53 T:1674143408 NOTICE: Opening stream: 0 source: 256
05:42:53 T:1674143408 NOTICE: Creating video codec with codec id: 2
05:42:54 T:1691233472 NOTICE: 1Channel: Service: Playback started
05:42:54 T:1674143408 ERROR: CDVDVideoCodecAndroidMediaCodec::ExceptionCheck: configure
05:42:54 T:1674143408 NOTICE: Creating video thread
05:42:54 T:1739024224 NOTICE: Thread CStageFrightDecodeThread start, auto delete: true
05:42:54 T:1674143408 NOTICE: Opening stream: 1 source: 256
05:42:54 T:1674143408 NOTICE: Finding audio codec for: 86019
05:42:54 T:1738963952 NOTICE: Thread DVDPlayerVideo start, auto delete: false
05:42:54 T:1738963952 NOTICE: running thread: video_thread
05:42:54 T:1674143408 NOTICE: Creating audio thread
05:42:54 T:1674143408 NOTICE: Opening stream: 0 source: 256
05:42:54 T:1674143408 NOTICE: Creating video codec with codec id: 2
05:42:54 T:1858961008 NOTICE: Thread DVDPlayerAudio start, auto delete: false
05:42:54 T:1858961008 NOTICE: running thread: CDVDPlayerAudio:
rocess()
05:42:54 T:1674143408 ERROR: CDVDVideoCodecAndroidMediaCodec:: Failed to create Android MediaCodec
05:42:54 T:1674143408 ERROR: CDVDVideoCodecStageFright::virtual bool CDVDVideoCodecStageFright::Open(CDVDStreamInfo&, CDVDCodecOptions&) - failed to open, codec(2), profile(-99), level(-99)
05:42:54 T:1674143408 NOTICE: CDVDVideoCodecFFmpeg::Open() Using codec: MPEG-2 video
05:42:54 T:1858961008 NOTICE: Creating audio stream (codec id: 86019, channels: 6, sample rate: 48000, no pass-through)
05:42:55 T:1858961008 ERROR: CDVDAudio::AddPacketsRenderer - timeout adding data to renderer
Exp #5 - HD 1080i with libstagefright enabled and mediacodec enabled
Timed out
05:46:09 T:1673046136 NOTICE: Creating video thread
05:46:09 T:1749344968 NOTICE: Thread CStageFrightDecodeThread start, auto delete: true
05:46:09 T:1739768480 NOTICE: Thread DVDPlayerVideo start, auto delete: false
05:46:09 T:1673046136 NOTICE: Opening stream: 1 source: 256
05:46:09 T:1673046136 NOTICE: Finding audio codec for: 86019
05:46:09 T:1739768480 NOTICE: running thread: video_thread
05:46:09 T:1673046136 NOTICE: Creating audio thread
05:46:09 T:1740971408 NOTICE: Thread DVDPlayerAudio start, auto delete: false
05:46:09 T:1740971408 NOTICE: running thread: CDVDPlayerAudio:
rocess()
05:46:09 T:1673046136 NOTICE: Opening stream: 0 source: 256
05:46:09 T:1673046136 NOTICE: Creating video codec with codec id: 2
05:46:09 T:1740971408 NOTICE: Creating audio stream (codec id: 86019, channels: 6, sample rate: 48000, no pass-through)
05:46:09 T:1673046136 ERROR: CDVDVideoCodecAndroidMediaCodec:: Failed to create Android MediaCodec
05:46:09 T:1673046136 ERROR: CDVDVideoCodecStageFright::virtual bool CDVDVideoCodecStageFright::Open(CDVDStreamInfo&, CDVDCodecOptions&) - failed to open, codec(2), profile(-99), level(-99)
05:46:09 T:1673046136 NOTICE: CDVDVideoCodecFFmpeg::Open() Using codec: MPEG-2 video
Exp #4 - HD 1080i with libstagefright enabled and mediacodec disabled
timedout
05:49:35 T:1737890680 NOTICE: Creating InputStream
05:49:38 T:1737890680 NOTICE: Creating Demuxer
05:49:38 T:1737890680 ERROR: SelectionStream& CSelectionStreams::Get(StreamType, int) - failed to get stream
05:49:38 T:1737890680 WARNING: CDVDMessageQueue(audio):
ut MSGQ_NOT_INITIALIZED
05:49:38 T:1737890680 WARNING: CDVDMessageQueue(video):
ut MSGQ_NOT_INITIALIZED
05:49:38 T:1674445776 NOTICE: 1Channel: Service: Playback started
05:49:38 T:1737890680 NOTICE: Opening stream: 0 source: 256
05:49:38 T:1737890680 NOTICE: Creating video codec with codec id: 2
05:49:38 T:1737890680 NOTICE: Creating video thread
05:49:38 T:1737890680 NOTICE: Opening stream: 1 source: 256
05:49:38 T:1737890680 NOTICE: Finding audio codec for: 86019
05:49:38 T:1740340456 NOTICE: Thread DVDPlayerVideo start, auto delete: false
05:49:38 T:1740340456 NOTICE: running thread: video_thread
05:49:38 T:1737890680 NOTICE: Creating audio thread
05:49:38 T:1740289152 NOTICE: Thread CStageFrightDecodeThread start, auto delete: true
05:49:38 T:1743602488 NOTICE: Thread DVDPlayerAudio start, auto delete: false
05:49:38 T:1743602488 NOTICE: running thread: CDVDPlayerAudio:
rocess()
05:49:38 T:1737890680 NOTICE: Opening stream: 0 source: 256
05:49:38 T:1737890680 NOTICE: Creating video codec with codec id: 2
05:49:39 T:1740335120 NOTICE: Thread CStageFrightDecodeThread start, auto delete: true
05:49:39 T:1743602488 NOTICE: Creating audio stream (codec id: 86019, channels: 6, sample rate: 48000, no pass-through)
05:49:40 T:1743602488 ERROR: CDVDAudio::AddPacketsRenderer - timeout adding data to renderer