mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-20 04:56:24 +00:00
ext/flac/gstflacdec.c: Correctly post an error on the bus if something went wrong in the loop function. This fixes a ...
Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_dec_loop): Correctly post an error on the bus if something went wrong in the loop function. This fixes a few cases where the task was paused and nothing happened anymore.
This commit is contained in:
parent
2c47f4d658
commit
b64fd034a5
2 changed files with 16 additions and 4 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2007-05-02 Sebastian Dröge <slomo@circular-chaos.org>
|
||||||
|
|
||||||
|
* ext/flac/gstflacdec.c: (gst_flac_dec_loop):
|
||||||
|
Correctly post an error on the bus if something went wrong in the loop
|
||||||
|
function. This fixes a few cases where the task was paused and nothing
|
||||||
|
happened anymore.
|
||||||
|
|
||||||
2007-05-02 Wim Taymans <wim@fluendo.com>
|
2007-05-02 Wim Taymans <wim@fluendo.com>
|
||||||
|
|
||||||
* gst/rtsp/test.c: (main):
|
* gst/rtsp/test.c: (main):
|
||||||
|
|
|
@ -52,6 +52,7 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include "gstflacdec.h"
|
#include "gstflacdec.h"
|
||||||
|
#include <gst/gst-i18n-plugin.h>
|
||||||
#include <gst/gsttagsetter.h>
|
#include <gst/gsttagsetter.h>
|
||||||
|
|
||||||
#include <gst/tag/tag.h>
|
#include <gst/tag/tag.h>
|
||||||
|
@ -931,10 +932,14 @@ analyze_state:
|
||||||
case FLAC__SEEKABLE_STREAM_DECODER_SEEKING:{
|
case FLAC__SEEKABLE_STREAM_DECODER_SEEKING:{
|
||||||
GST_DEBUG_OBJECT (flacdec, "everything ok");
|
GST_DEBUG_OBJECT (flacdec, "everything ok");
|
||||||
|
|
||||||
if (flacdec->last_flow != GST_FLOW_OK &&
|
if (GST_FLOW_IS_FATAL (flacdec->last_flow) ||
|
||||||
flacdec->last_flow != GST_FLOW_NOT_LINKED) {
|
flacdec->last_flow == GST_FLOW_NOT_LINKED) {
|
||||||
GST_DEBUG_OBJECT (flacdec, "last_flow return was %s, pausing",
|
GST_ELEMENT_ERROR (flacdec, STREAM, FAILED,
|
||||||
gst_flow_get_name (flacdec->last_flow));
|
(_("Internal data stream error.")),
|
||||||
|
("stream stopped, reason %s",
|
||||||
|
gst_flow_get_name (flacdec->last_flow)));
|
||||||
|
goto eos_and_pause;
|
||||||
|
} else if (flacdec->last_flow != GST_FLOW_OK) {
|
||||||
goto pause;
|
goto pause;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue