commit f9536544f5ad182b4f78d0143d1daa45dd64e624
Author: Song Bing <b06498@freescale.com>
Date:   Thu Oct 9 17:37:43 2014 +0800

[gststreamsynchronizer] send EOS event insterd of GAP event as GAP
event has issue when A/V have different duration.
    
send EOS event insterd of GAP event as GAP event has issue when A/V have different duration.

Upstream-Status: Submitted [https://bugzilla.gnome.org/show_bug.cgi?id=736655]

Signed-off-by: Song Bing <b06498@freescale.com>

diff --git a/gst/playback/gststreamsynchronizer.c b/gst/playback/gststreamsynchronizer.c
index 3e17c55..ff42d72 100644
--- a/gst/playback/gststreamsynchronizer.c
+++ b/gst/playback/gststreamsynchronizer.c
@@ -488,19 +488,24 @@ gst_stream_synchronizer_sink_event (GstPad * pad, GstObject * parent,
         }
         g_slist_free (pads);
       } else {
-        /* if EOS, but no data has passed, then send EOS event */
+        /* if EOS, but no data has passed, then send something to replace EOS
+         * for preroll purposes */
         if (!seen_data) {
-          GstEvent *gap_event;
+          GstEvent *eos_event;
 
-          gap_event = gst_event_new_eos ();
-          ret = gst_pad_push_event (srcpad, gap_event);
+          /* FIXME: change to EOS event as GAP event has issue when A/V have
+           * different duration */
+          eos_event = gst_event_new_eos ();
+          ret = gst_pad_push_event (srcpad, eos_event);
         } else {
-          GstEvent *gap_event;
+          GstEvent *eos_event;
 
           /* FIXME: Also send a GAP event to let audio sinks start their
            * clock in case they did not have enough data yet */
-          gap_event = gst_event_new_gap (timestamp, GST_CLOCK_TIME_NONE);
-          ret = gst_pad_push_event (srcpad, gap_event);
+          /* FIXME: change to EOS event as GAP event has issue when A/V have
+           * different duration */
+          eos_event = gst_event_new_eos ();
+          ret = gst_pad_push_event (srcpad, eos_event);
         }
       }
       gst_object_unref (srcpad);
