summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2010-04-15 21:26:45 +0200
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2010-04-15 21:26:45 +0200
commita331228eccfb8c66493fa3c8c49338c79cf4642c (patch)
treec09dc6aa55774b92155a6e6313b4fb69d401aba3
parent1f102af33dbd5a818b022a0e898e1bea41f4c326 (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.c54
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;
}
}