This is important for audio. _audio.put() must be called with
sequential data, so if you're going to discard audio (as was
happening when _suspended) you need to clear _audio before
put()ting any more.
This happens with seek; when _pending_seek_position is set
_audio is cleared and then nothing more is added until the
seek is done.
_suspended may be set and then reset with no change having
happened (type _CANCELLED) so I think you have to keep storing
data in this case. It will be discarded when the seek comes
around after a _DONE change.
{
boost::mutex::scoped_lock lm (_mutex);
- if (_pending_seek_position || _suspended) {
- /* Don't store any video in these cases */
+ if (_pending_seek_position) {
+ /* Don't store any video in this case */
return;
}
{
{
boost::mutex::scoped_lock lm (_mutex);
- if (_pending_seek_position || _disable_audio || _suspended) {
+ if (_pending_seek_position || _disable_audio) {
/* Don't store any audio in these cases */
return;
}