mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-18 07:47:17 +00:00
smartencoder: Only accept TIME segments for real
... and don't try to push pending data without ever having received a SEGMENT event before EOS https://bugzilla.gnome.org/show_bug.cgi?id=765541
This commit is contained in:
parent
155222017a
commit
7ba7c58f99
1 changed files with 6 additions and 2 deletions
|
@ -356,9 +356,12 @@ smart_encoder_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
|
|||
|
||||
GST_DEBUG_OBJECT (smart_encoder, "segment: %" GST_SEGMENT_FORMAT,
|
||||
smart_encoder->segment);
|
||||
if (smart_encoder->segment->format != GST_FORMAT_TIME)
|
||||
if (smart_encoder->segment->format != GST_FORMAT_TIME) {
|
||||
GST_ERROR
|
||||
("smart_encoder can not handle streams not specified in GST_FORMAT_TIME");
|
||||
gst_event_unref (event);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* And keep a copy for further usage */
|
||||
if (smart_encoder->newsegment)
|
||||
|
@ -368,7 +371,8 @@ smart_encoder_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
|
|||
break;
|
||||
case GST_EVENT_EOS:
|
||||
GST_DEBUG ("Eos, flushing remaining data");
|
||||
gst_smart_encoder_push_pending_gop (smart_encoder);
|
||||
if (smart_encoder->segment->format == GST_FORMAT_TIME)
|
||||
gst_smart_encoder_push_pending_gop (smart_encoder);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
Loading…
Reference in a new issue