[gst-cvs] gst-ffmpeg: ffmpegdemux: Don't use GST_FLOW_IS_FATAL() and GST_FLOW_IS_SUCCESS()

Sebastian Dröge slomo at kemper.freedesktop.org
Fri Aug 27 10:03:24 PDT 2010


Module: gst-ffmpeg
Branch: master
Commit: 37357063bf4e23eb0d2e9b884d23fcdf75f1b2cd
URL:    http://cgit.freedesktop.org/gstreamer/gst-ffmpeg/commit/?id=37357063bf4e23eb0d2e9b884d23fcdf75f1b2cd

Author: Sebastian Dröge <sebastian.droege at collabora.co.uk>
Date:   Fri Aug 27 18:29:15 2010 +0200

ffmpegdemux: Don't use GST_FLOW_IS_FATAL() and GST_FLOW_IS_SUCCESS()

---

 ext/ffmpeg/gstffmpegdemux.c |   38 ++++++++++++++++++--------------------
 1 files changed, 18 insertions(+), 20 deletions(-)

diff --git a/ext/ffmpeg/gstffmpegdemux.c b/ext/ffmpeg/gstffmpegdemux.c
index ef7b87d..d7012c4 100644
--- a/ext/ffmpeg/gstffmpegdemux.c
+++ b/ext/ffmpeg/gstffmpegdemux.c
@@ -919,7 +919,7 @@ gst_ffmpegdemux_aggregated_flow (GstFFMpegDemux * demux)
     if (s) {
       res = MIN (res, s->last_flow);
 
-      if (GST_FLOW_IS_SUCCESS (s->last_flow))
+      if (s->last_flow == GST_FLOW_OK)
         have_ok = TRUE;
     }
   }
@@ -1494,28 +1494,26 @@ pause:
       GST_FFMPEG_PIPE_MUTEX_UNLOCK (ffpipe);
     }
 
-    if (GST_FLOW_IS_FATAL (ret) || ret == GST_FLOW_NOT_LINKED) {
-      if (ret == GST_FLOW_UNEXPECTED) {
-        if (demux->segment.flags & GST_SEEK_FLAG_SEGMENT) {
-          gint64 stop;
+    if (ret == GST_FLOW_UNEXPECTED) {
+      if (demux->segment.flags & GST_SEEK_FLAG_SEGMENT) {
+        gint64 stop;
 
-          if ((stop = demux->segment.stop) == -1)
-            stop = demux->segment.duration;
+        if ((stop = demux->segment.stop) == -1)
+          stop = demux->segment.duration;
 
-          GST_LOG_OBJECT (demux, "posting segment done");
-          gst_element_post_message (GST_ELEMENT (demux),
-              gst_message_new_segment_done (GST_OBJECT (demux),
-                  demux->segment.format, stop));
-        } else {
-          GST_LOG_OBJECT (demux, "pushing eos");
-          gst_ffmpegdemux_push_event (demux, gst_event_new_eos ());
-        }
+        GST_LOG_OBJECT (demux, "posting segment done");
+        gst_element_post_message (GST_ELEMENT (demux),
+            gst_message_new_segment_done (GST_OBJECT (demux),
+                demux->segment.format, stop));
       } else {
-        GST_ELEMENT_ERROR (demux, STREAM, FAILED,
-            ("Internal data stream error."),
-            ("streaming stopped, reason %s", gst_flow_get_name (ret)));
+        GST_LOG_OBJECT (demux, "pushing eos");
         gst_ffmpegdemux_push_event (demux, gst_event_new_eos ());
       }
+    } else if (ret == GST_FLOW_NOT_LINKED || ret < GST_FLOW_UNEXPECTED) {
+      GST_ELEMENT_ERROR (demux, STREAM, FAILED,
+          ("Internal data stream error."),
+          ("streaming stopped, reason %s", gst_flow_get_name (ret)));
+      gst_ffmpegdemux_push_event (demux, gst_event_new_eos ());
     }
     return;
   }





More information about the Gstreamer-commits mailing list