ext/ffmpeg/gstffmpegdec.c: Disable early keyframe check, it causes crashes and is not really needed.

Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain):
Disable early keyframe check, it causes crashes and is not really
needed.
This commit is contained in:
Wim Taymans 2006-09-05 18:09:33 +00:00
parent 1ce4f6d645
commit 774aca3a94
2 changed files with 10 additions and 0 deletions

View file

@ -1,3 +1,9 @@
2006-09-05 Wim Taymans <wim@fluendo.com>
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain):
Disable early keyframe check, it causes crashes and is not really
needed.
2006-09-05 Wim Taymans <wim@fluendo.com>
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame),

View file

@ -1770,6 +1770,7 @@ gst_ffmpegdec_chain (GstPad * pad, GstBuffer * inbuf)
ffmpegdec->next_ts = GST_CLOCK_TIME_NONE;
}
#ifdef EARLY_KEYFRAME_CHECK
/* do early keyframe check pretty bad to rely on the keyframe flag in the
* source for this as it might not even be parsed (UDP/file/..). */
if (G_UNLIKELY (ffmpegdec->waiting_for_key)) {
@ -1779,6 +1780,7 @@ gst_ffmpegdec_chain (GstPad * pad, GstBuffer * inbuf)
GST_DEBUG_OBJECT (ffmpegdec, "got keyframe");
ffmpegdec->waiting_for_key = FALSE;
}
#endif
pending_timestamp = GST_BUFFER_TIMESTAMP (inbuf);
pending_duration = GST_BUFFER_DURATION (inbuf);
@ -1943,12 +1945,14 @@ not_negotiated:
gst_buffer_unref (inbuf);
return GST_FLOW_NOT_NEGOTIATED;
}
#ifdef EARLY_KEYFRAME_CHECK
skip_keyframe:
{
GST_DEBUG_OBJECT (ffmpegdec, "skipping non keyframe");
gst_buffer_unref (inbuf);
return GST_FLOW_OK;
}
#endif
}
static GstStateChangeReturn