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)));