Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[omxplayer] Flush EOS message from queue to avoid it turning up after a seek #7980

Merged
merged 1 commit into from
Sep 8, 2015

Conversation

popcornmix
Copy link
Member

A GENERAL_EOS is queued when demuxer reaches EOF but playback may continue for several seconds.
It should be possible to seek backwards during this playback time, but the GENERAL_EOS may still be queued after flushing
and it unwantedly causes stream to stall after the seek. So flush these obsolete messages when flushing data packets

A GENERAL_EOS is queued when demuxer reaches EOF but playback may
continue for several seconds. It should be possible to seek backwards
during this playback time, but the GENERAL_EOS may still be queued
after flushing and it unwantedly causes stream to stall after the seek.

So flush these obsolete messages when flushing data packets
@popcornmix
Copy link
Member Author

Ping @FernetMenta for sanity check.

@FernetMenta
Copy link
Contributor

GENERAL_EOF seems pretty useless for dvdplayer, there is no real action triggered by this message. What does it do for OMXPlayer?

@popcornmix
Copy link
Member Author

On GENERAL_EOF we send an EOS packet to decoder and then wait for the acknowledgement to come back so we know all frames have been flushed out.
However sending a spurious EOS packet (as occurs here when you seek back after an EOF) is bad and causes the clock to stall.

@FernetMenta
Copy link
Contributor

So we send EOF because we want decoder to play out remaining packets, right? If this is the intent, the message is sent at a wrong point in time. Event the message name is wrong. What you really want is to instruct stream players to get finished.
Anyway, this is fine for dvd/omxplayer. Let's do a rework for VideoPlayer.

@popcornmix
Copy link
Member Author

jenkins build this please

popcornmix added a commit that referenced this pull request Sep 8, 2015
[omxplayer] Flush EOS message from queue to avoid it turning up after a seek
@popcornmix popcornmix merged commit 59ed1c5 into xbmc:master Sep 8, 2015
@popcornmix popcornmix deleted the omx_eos_seek_stall branch September 8, 2015 14:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants