mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 04:01:08 +00:00
gst/asfdemux/gstasfdemux.c: Fix silly bug when we can't pull as much data as we want; don't forget to announce pendin...
Original commit message from CVS: * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_pull_data), (gst_asf_demux_push_complete_payloads), (gst_asf_demux_loop): Fix silly bug when we can't pull as much data as we want; don't forget to announce pending tags in the new packet parsing code.
This commit is contained in:
parent
f41decd66a
commit
9ee314648e
2 changed files with 17 additions and 1 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2007-04-27 Tim-Philipp Müller <tim at centricular dot net>
|
||||||
|
|
||||||
|
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_pull_data),
|
||||||
|
(gst_asf_demux_push_complete_payloads), (gst_asf_demux_loop):
|
||||||
|
Fix silly bug when we can't pull as much data as we want; don't
|
||||||
|
forget to announce pending tags in the new packet parsing code.
|
||||||
|
|
||||||
2007-04-25 Tim-Philipp Müller <tim at centricular dot net>
|
2007-04-25 Tim-Philipp Müller <tim at centricular dot net>
|
||||||
|
|
||||||
* configure.ac:
|
* configure.ac:
|
||||||
|
|
|
@ -749,7 +749,7 @@ gst_asf_demux_pull_data (GstASFDemux * demux, guint64 offset, guint size,
|
||||||
GST_DEBUG_OBJECT (demux, "short read pulling buffer at %" G_GUINT64_FORMAT
|
GST_DEBUG_OBJECT (demux, "short read pulling buffer at %" G_GUINT64_FORMAT
|
||||||
"+%u (got only %u bytes)", offset, size, GST_BUFFER_SIZE (*p_buf));
|
"+%u (got only %u bytes)", offset, size, GST_BUFFER_SIZE (*p_buf));
|
||||||
gst_buffer_unref (*p_buf);
|
gst_buffer_unref (*p_buf);
|
||||||
if (*p_flow)
|
if (p_flow)
|
||||||
*p_flow = GST_FLOW_UNEXPECTED;
|
*p_flow = GST_FLOW_UNEXPECTED;
|
||||||
*p_buf = NULL;
|
*p_buf = NULL;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -940,6 +940,14 @@ gst_asf_demux_push_complete_payloads (GstASFDemux * demux)
|
||||||
if (!gst_asf_payload_is_complete (payload))
|
if (!gst_asf_payload_is_complete (payload))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
/* Do we have tags pending for this stream? */
|
||||||
|
if (stream->pending_tags) {
|
||||||
|
GST_LOG_OBJECT (stream->pad, "%" GST_PTR_FORMAT, stream->pending_tags);
|
||||||
|
gst_element_found_tags_for_pad (GST_ELEMENT (demux), stream->pad,
|
||||||
|
stream->pending_tags);
|
||||||
|
stream->pending_tags = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
/* We have the whole packet now so we should push the packet to
|
/* We have the whole packet now so we should push the packet to
|
||||||
* the src pad now. First though we should check if we need to do
|
* the src pad now. First though we should check if we need to do
|
||||||
* descrambling */
|
* descrambling */
|
||||||
|
@ -1093,6 +1101,7 @@ read_failed:
|
||||||
{
|
{
|
||||||
/* upstream should already have posted an error */
|
/* upstream should already have posted an error */
|
||||||
GST_ELEMENT_ERROR (demux, STREAM, DEMUX, (NULL), ("pull_range failed"));
|
GST_ELEMENT_ERROR (demux, STREAM, DEMUX, (NULL), ("pull_range failed"));
|
||||||
|
gst_asf_demux_send_event_unlocked (demux, gst_event_new_eos ());
|
||||||
goto pause;
|
goto pause;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue