Revert "videosink: CF2 remove check need_preroll [1/1]"

This reverts commit 0b02b8fede466603fdecbd301ae729a899952d28.

Change-Id: I9b14b5dbc5aa9a3cc76ace4b2514b1a587de726e
diff --git a/src/gstamlvideosink.c b/src/gstamlvideosink.c
index f61bbaf..4e4be9b 100644
--- a/src/gstamlvideosink.c
+++ b/src/gstamlvideosink.c
@@ -2134,31 +2134,29 @@
                     bs= GST_BASE_SINK(sink);
                     GST_BASE_SINK_PREROLL_LOCK(bs);
                     GST_DEBUG("EOS: need_preroll %d have_preroll %d", bs->need_preroll, bs->have_preroll);
-                    //if ( bs->need_preroll )
-                    //remove check need_preroll because avpk seek case failed.SWPL-176289
-                    //{
-                    GstState cur, nxt, pend;
-                    /* complete preroll and commit state */
-                    GST_DEBUG("EOS signal preroll\n");
-                    bs->need_preroll= FALSE;
-                    bs->have_preroll= TRUE;
-                    GST_OBJECT_LOCK(bs);
-                    cur= GST_STATE(bs);
-                    nxt= GST_STATE_NEXT(bs);
-                    GST_STATE(bs)= pend= GST_STATE_PENDING(bs);
-                    GST_STATE_NEXT(bs)= GST_STATE_PENDING(bs)= GST_STATE_VOID_PENDING;
-                    GST_STATE_RETURN(bs)= GST_STATE_CHANGE_SUCCESS;
-                    GST_OBJECT_UNLOCK(bs);
-                    GST_DEBUG("EOS posting state change: curr(%s) next(%s) pending(%s)",
-                            gst_element_state_get_name(cur),
-                            gst_element_state_get_name(nxt),
-                            gst_element_state_get_name(pend));
-                    gst_element_post_message(GST_ELEMENT_CAST(bs), gst_message_new_state_changed(GST_OBJECT_CAST(bs), cur, nxt, pend));
-                    GST_DEBUG("EOS posting async done");
-                    gst_element_post_message(GST_ELEMENT_CAST(bs), gst_message_new_async_done(GST_OBJECT_CAST(bs), GST_CLOCK_TIME_NONE));
-                    GST_STATE_BROADCAST(bs)
-                    //}
-
+                    if ( bs->need_preroll )
+                    {
+                        GstState cur, nxt, pend;
+                        /* complete preroll and commit state */
+                        GST_DEBUG("EOS signal preroll\n");
+                        bs->need_preroll= FALSE;
+                        bs->have_preroll= TRUE;
+                        GST_OBJECT_LOCK(bs);
+                        cur= GST_STATE(bs);
+                        nxt= GST_STATE_NEXT(bs);
+                        GST_STATE(bs)= pend= GST_STATE_PENDING(bs);
+                        GST_STATE_NEXT(bs)= GST_STATE_PENDING(bs)= GST_STATE_VOID_PENDING;
+                        GST_STATE_RETURN(bs)= GST_STATE_CHANGE_SUCCESS;
+                        GST_OBJECT_UNLOCK(bs);
+                        GST_DEBUG("EOS posting state change: curr(%s) next(%s) pending(%s)",
+                                gst_element_state_get_name(cur),
+                                gst_element_state_get_name(nxt),
+                                gst_element_state_get_name(pend));
+                        gst_element_post_message(GST_ELEMENT_CAST(bs), gst_message_new_state_changed(GST_OBJECT_CAST(bs), cur, nxt, pend));
+                        GST_DEBUG("EOS posting async done");
+                        gst_element_post_message(GST_ELEMENT_CAST(bs), gst_message_new_async_done(GST_OBJECT_CAST(bs), GST_CLOCK_TIME_NONE));
+                        GST_STATE_BROADCAST(bs)
+                    }
                     GST_BASE_SINK_PREROLL_UNLOCK(bs);
                     GST_DEBUG("EOS: calling eos detected: need_preroll %d have_preroll %d", bs->need_preroll, bs->have_preroll);
                     gst_element_post_message (GST_ELEMENT_CAST(sink), gst_message_new_eos(GST_OBJECT_CAST(sink)));