Update fix for seek
authorZhao Halley <halley.zhao@intel.com>
Sat, 20 Apr 2013 07:35:53 +0000 (15:35 +0800)
committerZhao Halley <halley.zhao@intel.com>
Sat, 20 Apr 2013 07:35:53 +0000 (15:35 +0800)
commit289e80df241a77d7b04b0a432546300beb589fb1
treefad60ae7c27e9f5601914a855c4b3ae54a1d9707
parentd1cd6ada3776914b10aeb57fd7d05f24c40d1174
Update fix for seek

1. Use GST_EVENT_FLUSH_START to help decoder escape from waiting for
   an availabe surface; correspondingly, GST_EVENT_FLUSH_STOP disables
   such special exception.
2. Remove such escape by GST_STATE_CHANGE_PAUSED_TO_READY
   during seek, the status/event happens as following order:
   GST_STATE_CHANGE_PLAYING_TO_PAUSED -> GST_EVENT_FLUSH_START ->
   GST_EVENT_FLUSH_STOP -> GST_STATE_CHANGE_PAUSED_TO_PLAYING
3. Remove such escape by GST_EVENT_EOS.
   EOS is the symptom caused by no surface available, not the reason.
   I'm afraid the original code will miss some frames if EOS comes
   earlier than decoder finishes decoding the sent data.
gst/vaapi/gstvaapidecode.c [changed mode: 0644->0755]
gst/vaapi/gstvaapidecode.h [changed mode: 0644->0755]