Opened 8 years ago

Closed 7 years ago

#9023 closed defect (Fixed)

livetv - unable to seek

Reported by: Markus Schulz <msc@…> Owned by: tralph
Priority: minor Milestone: 0.24.1
Component: MythTV - Video Playback Version: Master Head
Severity: medium Keywords:
Cc: Ticket locked: no

Description (last modified by kenni)

to reproduce:

  • start livetv
  • press pause
  • wait until the current show is over (backend switched to next recording)
  • no try to seek forward the show (until next show) can't seek, only the first 2-3 steps are working, then steps forward without go forward.

log for a single step:

'video_output' mean = '44099.49', std. dev. = '12396.82', fps = '22.68'
2010-09-27 21:32:46.954 TV: DoPlayerSeek() -- begin
2010-09-27 21:32:46.954 AO: Pause 1
2010-09-27 21:32:46.954 TV: DoPlayerSeek() -- ff
2010-09-27 21:32:46.954 TV: DoPlayerSeek() -- end
2010-09-27 21:32:46.954 UpdateOSDSeekMessage(Vorwärts, 2)
2010-09-27 21:32:46.976 AFD: DoFastForward(4140 (4146), do discard frames)
2010-09-27 21:32:46.977 Dec: DoFastForward(4140 (4146), do discard frames)
2010-09-27 21:32:46.977 AFD: DoRewind(4140, do discard frames)
2010-09-27 21:32:46.977 Dec: DoRewind(4140 (4146), do discard frames)
2010-09-27 21:32:46.977 Dec: FindPosition(4140, search not adjusted) --> [339:4140(130825252)]
2010-09-27 21:32:46.977 AFD: SeekReset(4140, 0, do flush, do discard)
2010-09-27 21:32:46.977 AFD: SeekReset() flushing
2010-09-27 21:32:46.977 VidOutVDPAU: DiscardFrames(1)
2010-09-27 21:32:46.977 VideoBuffers::DiscardFrames(1): ADUUUUUUUDAUUDUUU
2010-09-27 21:32:46.977 VideoBuffers::DiscardFrames(): ADAAAAAAADAAADAAA -- done()
2010-09-27 21:32:46.977 VideoBuffers::DiscardFrames(1): ADAAAAAAADAAADAAA -- done
2010-09-27 21:32:46.977 VidOutVDPAU: DiscardFrames() 3: ADAAAAAAADAAADAAA -- done()
2010-09-27 21:32:46.977 Player(1): ClearAfterSeek(0)
2010-09-27 21:32:46.978 Player(1): Waiting for video buffers...
2010-09-27 21:32:46.993 AO: Pause 0
2010-09-27 21:32:46.995 AO: OutputAudioLoop: Play Event

Attachments (1)

t9023_livetv_seek_fix_v1.diff (1.1 KB) - added by tralph 7 years ago.
fix for livetv seeking problems when program transition occurs

Download all attachments as: .zip

Change History (9)

comment:1 Changed 8 years ago by Markus Schulz <msc@…>

additional: if you play until next show, you can seek again normally.

comment:2 Changed 8 years ago by kenni

  • Description modified (diff)

comment:3 Changed 8 years ago by beirdo

  • Component changed from MythTV - General to MythTV - Video Playback
  • Owner set to janne
  • Status changed from new to assigned

comment:4 Changed 7 years ago by jonash79@…

This is a major annoyance IMHO, since there is another related issue that occured to me the other day: When trying to seek backwards near the end of a time-shifted show (missed something, wanted to see the last scene again), it did no jump back the epected 10 seconds, but to a position close to the beginning of the show. Since seeking forward does not work in 0.24, it was then impossible to view the end of the show, unless I had been willing to watch it _again_ from the beginning, this time careful to not touch the seek buttons.

comment:5 Changed 7 years ago by robertm

  • Ticket locked set

This is not Ubuntu, this is not the place to talk about your feelings. This is a bug tracker. Please read the ticket howto.

Changed 7 years ago by tralph

fix for livetv seeking problems when program transition occurs

comment:6 Changed 7 years ago by tralph

  • Milestone changed from unknown to 0.24.1
  • Owner changed from janne to tralph
  • Status changed from assigned to accepted
  • Ticket locked unset

Markus, please try the attached patch and let us know if it helps or not. It's against master but should be easy to apply to -fixes as well.

comment:7 Changed 7 years ago by Jiri Fojtasek <jiri.fojtasek@…>


... also ensure not return -1 when jump to next is not in order, eg:

@@ -3302,9 +3303,11 @@ long long MythPlayer::CalcMaxFFTime(long
             long long behind = totalFrames - framesPlayed;
             if (behind < maxtime || behind - ff <= maxtime * 2)
-                ret = -1;
                 if (setjump)
+                {
                     player_ctx->tvchain->JumpToNext(true, 1);
+                    ret = -1;
+                }


comment:8 Changed 7 years ago by tralph

  • Resolution set to Fixed
  • Status changed from accepted to closed

Fixed in master by 3716894d56190f401c49 and fixes/0.24 by 849b5cae9090111d191f.

Add Comment

Modify Ticket

as closed The owner will remain tralph.
The resolution will be deleted. Next status will be 'new'.

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.