[gst-cvs] gst-plugins-bad: mpegpsdemux: Workaround new gcc 4.5 compiler warning
Sebastian Dröge
slomo at kemper.freedesktop.org
Thu Apr 15 12:28:18 PDT 2010
Module: gst-plugins-bad
Branch: master
Commit: a331228eccfb8c66493fa3c8c49338c79cf4642c
URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=a331228eccfb8c66493fa3c8c49338c79cf4642c
Author: Sebastian Dröge <sebastian.droege at collabora.co.uk>
Date: Thu Apr 15 21:26:45 2010 +0200
mpegpsdemux: Workaround new gcc 4.5 compiler warning
gcc 4.5 warns when comparing some integer with an enum value, in
the case of GstFlowReturn this is valid though. We should later
add GST_FLOW_CUSTOM_OK1, GST_FLOW_CUSTOM_OK2, etc. after new core
is released.
---
gst/mpegdemux/gstmpegdemux.c | 54 +++++++++++++++++++++++------------------
1 files changed, 30 insertions(+), 24 deletions(-)
diff --git a/gst/mpegdemux/gstmpegdemux.c b/gst/mpegdemux/gstmpegdemux.c
index d62fbd0..2c118e4 100644
--- a/gst/mpegdemux/gstmpegdemux.c
+++ b/gst/mpegdemux/gstmpegdemux.c
@@ -2839,17 +2839,20 @@ gst_flups_demux_chain (GstPad * pad, GstBuffer * buffer)
}
switch (ret) {
- case GST_FLOW_NEED_MORE_DATA:
- /* Go and get more data */
- ret = GST_FLOW_OK;
- goto done;
- case GST_FLOW_LOST_SYNC:
- /* for FLOW_OK or lost-sync, carry onto resync */
- ret = GST_FLOW_OK;
- break;
case GST_FLOW_OK:
break;
default:
+ /* FIXME: gcc 4.5 warns if comparing some integer with
+ * an enum value! */
+ if ((gint) ret == GST_FLOW_NEED_MORE_DATA) {
+ /* Go and get more data */
+ ret = GST_FLOW_OK;
+ goto done;
+ } else if ((gint) ret == GST_FLOW_LOST_SYNC) {
+ /* for FLOW_OK or lost-sync, carry onto resync */
+ ret = GST_FLOW_OK;
+ break;
+ }
/* Any other return value should be sent upstream immediately */
goto done;
}
@@ -2895,23 +2898,26 @@ gst_flups_demux_chain (GstPad * pad, GstBuffer * buffer)
save = FALSE;
switch (ret) {
- case GST_FLOW_NEED_MORE_DATA:
- GST_DEBUG_OBJECT (demux, "need more data");
- ret = GST_FLOW_OK;
- goto done;
- case GST_FLOW_LOST_SYNC:
- if (!save || demux->sink_segment.rate >= 0.0) {
- GST_DEBUG_OBJECT (demux, "flushing 3 bytes");
- gst_adapter_flush (demux->adapter, 3);
- ADAPTER_OFFSET_FLUSH (3);
- } else {
- GST_DEBUG_OBJECT (demux, "saving 3 bytes");
- gst_adapter_push (demux->rev_adapter,
- gst_adapter_take_buffer (demux->adapter, 3));
- }
- ret = GST_FLOW_OK;
- break;
default:
+ /* FIXME: gcc 4.5 warns if comparing some integer with
+ * an enum value! */
+ if ((gint) ret == GST_FLOW_NEED_MORE_DATA) {
+ GST_DEBUG_OBJECT (demux, "need more data");
+ ret = GST_FLOW_OK;
+ goto done;
+ } else if ((gint) ret == GST_FLOW_LOST_SYNC) {
+ if (!save || demux->sink_segment.rate >= 0.0) {
+ GST_DEBUG_OBJECT (demux, "flushing 3 bytes");
+ gst_adapter_flush (demux->adapter, 3);
+ ADAPTER_OFFSET_FLUSH (3);
+ } else {
+ GST_DEBUG_OBJECT (demux, "saving 3 bytes");
+ gst_adapter_push (demux->rev_adapter,
+ gst_adapter_take_buffer (demux->adapter, 3));
+ }
+ ret = GST_FLOW_OK;
+ break;
+ }
break;
}
}
More information about the Gstreamer-commits
mailing list