Modify

Ticket #9023 (closed defect: Fixed)

Opened 3 years ago

Last modified 2 years ago

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) (diff)

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

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

Change History

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

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

comment:2 Changed 3 years ago by kenni

  • Description modified (diff)

comment:3 Changed 3 years ago by beirdo

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

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

fix for livetv seeking problems when program transition occurs

comment:6 Changed 2 years ago by tralph

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

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 2 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 2 years ago by tralph

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

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

View

Add a comment

Modify Ticket

Action
as closed
The resolution will be deleted. Next status will be 'new'
Author


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

 
Note: See TracTickets for help on using tickets.