gst/: Return FLOW_UNEXPECTED when at the end of the file, not

Original commit message from CVS:
* gst/apetag/gsttagdemux.c: (gst_tag_demux_chain):
* gst/id3demux/gstid3demux.c: (gst_id3demux_chain):
Return FLOW_UNEXPECTED when at the end of the file, not
FLOW_ERROR. Fixes 'internal stream error' errors that
would sometimes occur in totem when scrubbing to the
end of an ID3v1 tagged mp3 file.
This commit is contained in:
Tim-Philipp Müller 2006-07-03 16:43:10 +00:00
parent 00e08a3f6e
commit 52f6cd9c1f
3 changed files with 13 additions and 4 deletions

View file

@ -1,3 +1,12 @@
2006-07-03 Tim-Philipp Müller <tim at centricular dot net>
* gst/apetag/gsttagdemux.c: (gst_tag_demux_chain):
* gst/id3demux/gstid3demux.c: (gst_id3demux_chain):
Return FLOW_UNEXPECTED when at the end of the file, not
FLOW_ERROR. Fixes 'internal stream error' errors that
would sometimes occur in totem when scrubbing to the
end of an ID3v1 tagged mp3 file.
2006-07-03 Edward Hervey <edward@fluendo.com>
* ext/libpng/gstpngdec.c: (gst_pngdec_init), (user_info_callback),

View file

@ -557,7 +557,7 @@ gst_tag_demux_chain (GstPad * pad, GstBuffer * buf)
typefind_buf = demux->priv->collect;
gst_buffer_ref (typefind_buf);
if (!gst_tag_demux_trim_buffer (demux, &typefind_buf))
return GST_FLOW_ERROR;
return GST_FLOW_UNEXPECTED;
if (typefind_buf == NULL)
break; /* Still need more data */
@ -609,7 +609,7 @@ gst_tag_demux_chain (GstPad * pad, GstBuffer * buf)
outbuf = demux->priv->collect;
demux->priv->collect = NULL;
if (!gst_tag_demux_trim_buffer (demux, &outbuf))
return GST_FLOW_ERROR;
return GST_FLOW_UNEXPECTED;
}
if (outbuf) {
if (G_UNLIKELY (demux->priv->srcpad == NULL)) {

View file

@ -444,7 +444,7 @@ gst_id3demux_chain (GstPad * pad, GstBuffer * buf)
typefind_buf = id3demux->collect;
gst_buffer_ref (typefind_buf);
if (!gst_id3demux_trim_buffer (id3demux, &typefind_buf))
return GST_FLOW_ERROR;
return GST_FLOW_UNEXPECTED;
if (typefind_buf == NULL)
break; /* Still need more data */
@ -507,7 +507,7 @@ gst_id3demux_chain (GstPad * pad, GstBuffer * buf)
outbuf = id3demux->collect;
id3demux->collect = NULL;
if (!gst_id3demux_trim_buffer (id3demux, &outbuf))
return GST_FLOW_ERROR;
return GST_FLOW_UNEXPECTED;
}
if (outbuf) {
if (G_UNLIKELY (id3demux->srcpad == NULL)) {