[rtbp/omxplayer] Support ff/rew #2955

Merged
merged 1 commit into from Jul 10, 2013

Projects

None yet

1 participant

@popcornmix
Member

Big missing feature added for Pi.
It works by increasing the clock and discarding audio when at 2x and 4x.
For rewind and 8x and higher, it uses a different scheme. It pauses video, and single steps.

For both schemes it uses the normal dvd player mechanism of seeking when the clock has diverged by too much.

Notes:
dvdplayer still decodes (then discards) audio when ff/rew.
I'm skipping the decode step (too much cpu at 4x realtime).

I've made GetTime return m_clock.GetClock() when ff/rew. (m_State.time is too jumpy).

@popcornmix popcornmix [rbp/omxplayer] Support ff/rew
Big missing feature added for Pi.
It works by increasing the clock and discarding audio when at 2x and 4x.
For rewind and 8x and higher, it uses a different scheme. It pauses video, and single steps.

For both schemes it uses the normal dvd player mechanism of seeking when the clock has diverged by too much.

Notes:
dvdplayer still decodes (then discards) audio when ff/rew.
I'm skipping the decode step (too much cpu at 4x realtime).

I've made GetTime return m_clock.GetClock() when ff/rew. (m_State.time is too jumpy).
4fddb9a
@popcornmix popcornmix merged commit dde99fb into xbmc:master Jul 10, 2013
@popcornmix popcornmix deleted the popcornmix:ff_rew branch Jul 10, 2013
@popcornmix popcornmix added a commit to popcornmix/xbmc that referenced this pull request Aug 5, 2013
@popcornmix popcornmix [rbp/omxplayer] Fixes for trickplay
In #2955 we lied in GetTime when in trickplay modes to avoid jittery updates in elapsed time.
This was wrong when GetClock() didn't match the media time (e.g. when playback was started from a bookmark).

The jitter is caused by the DISPLAYTIME messages that don't really work on omxplayer.
Instead bypass the DISPLAYTIME messages and set the time explicity in OMXPlayer (using media time where appropriate).

Also in trickplay, do the seek/flush step more to fix an issue when going from normal to rewind after EOS

Also don't honour the "accurate" seek flag, as it results in corrupt frames being displayed
68ae436
@popcornmix popcornmix added a commit to popcornmix/xbmc that referenced this pull request Aug 9, 2013
@popcornmix popcornmix [rbp/omxplayer] Fixes for trickplay
In #2955 we lied in GetTime when in trickplay modes to avoid jittery updates in elapsed time.
This was wrong when GetClock() didn't match the media time (e.g. when playback was started from a bookmark).

The jitter is caused by the DISPLAYTIME messages that don't really work on omxplayer.
Instead bypass the DISPLAYTIME messages and set the time explicity in OMXPlayer (using media time where appropriate).

Also in trickplay, do the seek/flush step more to fix an issue when going from normal to rewind after EOS

Also don't honour the "accurate" seek flag, as it results in corrupt frames being displayed
9e156ce
@popcornmix popcornmix added a commit to popcornmix/xbmc that referenced this pull request Sep 4, 2013
@popcornmix popcornmix [rbp/omxplayer] Fixes for trickplay
In #2955 we lied in GetTime when in trickplay modes to avoid jittery updates in elapsed time.
This was wrong when GetClock() didn't match the media time (e.g. when playback was started from a bookmark).

The jitter is caused by the DISPLAYTIME messages that don't really work on omxplayer.
Instead bypass the DISPLAYTIME messages and set the time explicity in OMXPlayer (using media time where appropriate).

Also in trickplay, do the seek/flush step more to fix an issue when going from normal to rewind after EOS

Also don't honour the "accurate" seek flag, as it results in corrupt frames being displayed
3ecf873
@popcornmix popcornmix added a commit to popcornmix/xbmc that referenced this pull request Oct 9, 2013
@popcornmix popcornmix [rbp/omxplayer] Fixes for trickplay
In #2955 we lied in GetTime when in trickplay modes to avoid jittery updates in elapsed time.
This was wrong when GetClock() didn't match the media time (e.g. when playback was started from a bookmark).

The jitter is caused by the DISPLAYTIME messages that don't really work on omxplayer.
Instead bypass the DISPLAYTIME messages and set the time explicity in OMXPlayer (using media time where appropriate).

Also in trickplay, do the seek/flush step more to fix an issue when going from normal to rewind after EOS

Also don't honour the "accurate" seek flag, as it results in corrupt frames being displayed
0bcdba8
@popcornmix popcornmix added a commit to popcornmix/xbmc that referenced this pull request Nov 5, 2013
@popcornmix popcornmix [rbp/omxplayer] Fixes for trickplay
In #2955 we lied in GetTime when in trickplay modes to avoid jittery updates in elapsed time.
This was wrong when GetClock() didn't match the media time (e.g. when playback was started from a bookmark).

The jitter is caused by the DISPLAYTIME messages that don't really work on omxplayer.
Instead bypass the DISPLAYTIME messages and set the time explicity in OMXPlayer (using media time where appropriate).

Also in trickplay, do the seek/flush step more to fix an issue when going from normal to rewind after EOS

Also don't honour the "accurate" seek flag, as it results in corrupt frames being displayed
eb8510f
@popcornmix popcornmix added a commit to popcornmix/xbmc that referenced this pull request Dec 13, 2013
@popcornmix popcornmix [rbp/omxplayer] Fixes for trickplay
In #2955 we lied in GetTime when in trickplay modes to avoid jittery updates in elapsed time.
This was wrong when GetClock() didn't match the media time (e.g. when playback was started from a bookmark).

The jitter is caused by the DISPLAYTIME messages that don't really work on omxplayer.
Instead bypass the DISPLAYTIME messages and set the time explicity in OMXPlayer (using media time where appropriate).

Also in trickplay, do the seek/flush step more to fix an issue when going from normal to rewind after EOS

Also don't honour the "accurate" seek flag, as it results in corrupt frames being displayed
70abfc3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment