diff options
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2010-04-15 21:26:45 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2010-04-15 21:26:45 +0200 |
commit | a331228eccfb8c66493fa3c8c49338c79cf4642c (patch) | |
tree | c09dc6aa55774b92155a6e6313b4fb69d401aba3 | |
parent | 1f102af33dbd5a818b022a0e898e1bea41f4c326 (diff) |
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.
-rw-r--r-- | 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 d62fbd00f..2c118e4be 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; } } |