[mythtv-commits] Ticket #11882: Attempt to play recording freezes frontend
MythTV
noreply at mythtv.org
Sun Oct 27 20:25:56 UTC 2013
#11882: Attempt to play recording freezes frontend
----------------------------------------+----------------------------
Reporter: warpme@… | Owner: stichnot
Type: Bug Report - Hang/Deadlock | Status: accepted
Priority: minor | Milestone: 0.27.1
Component: MythTV - Video Decoding | Version: 0.27-fixes
Severity: medium | Resolution:
Keywords: | Ticket locked: 0
----------------------------------------+----------------------------
Comment (by blm-ubunet@…):
@ comment #7
This is a better match ??
{{{
diff --git a/mythtv/libs/libmythtv/avformatdecoder.cpp
b/mythtv/libs/libmythtv/avformatdecoder.cpp
index 3a42b40..e9af99b 100644
--- a/mythtv/libs/libmythtv/avformatdecoder.cpp
+++ b/mythtv/libs/libmythtv/avformatdecoder.cpp
@@ -3152,7 +3152,8 @@ int AvFormatDecoder::H264PreProcessPkt(AVStream
*stream, AVPacket *pkt)
if (m_h264_parser->onFrameStart())
++num_frames;
- if (!m_h264_parser->onKeyFrameStart())
+ if (!m_h264_parser->onKeyFrameStart() || !m_h264_parser->seen_SPS())
continue;
}
else
}}}
SPS indicates keyframe but opposite is not spec requirement.
Above always allows code path to "continue;" with condition
seen_SPS()=false.
h264_parser->seen_SPS() is a semaphore set (true) at the first & any SPS
in stream.
As in comment #7 .. the 1st keyframe without any SPS seen (False && True =
False) would not lead to "continue;" but drop right thru'..
But I think this & comment #7 is a confusing obfuscation c.f. my original
patch file.
--
Ticket URL: <http://code.mythtv.org/trac/ticket/11882#comment:11>
MythTV <http://www.mythtv.org>
MythTV Media Center
More information about the mythtv-commits
mailing list