Opened 13 years ago

Closed 13 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 Lund [kenni a kelu dot dk])

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)

...you 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 13 years ago.
fix for livetv seeking problems when program transition occurs

Download all attachments as: .zip

Change History (9)

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

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

comment:2 Changed 13 years ago by Kenni Lund [kenni a kelu dot dk]

Description: modified (diff)

comment:3 Changed 13 years ago by beirdo

Component: MythTV - GeneralMythTV - Video Playback
Owner: set to Janne Grunau
Status: newassigned

comment:4 Changed 13 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 13 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 13 years ago by tralph

fix for livetv seeking problems when program transition occurs

comment:6 Changed 13 years ago by tralph

Milestone: unknown0.24.1
Owner: changed from Janne Grunau to tralph
Status: assignedaccepted
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 13 years ago by Jiri Fojtasek <jiri.fojtasek@…>

tralph,

... 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;
+                }
             }
         }
     }

Jiri

comment:8 Changed 13 years ago by tralph

Resolution: Fixed
Status: acceptedclosed

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

Note: See TracTickets for help on using tickets.