[mythtv-commits] Ticket #1043: Internal DVD Menu Support and Position Bar Support.
MythTV
mythtv at cvs.mythtv.org
Mon Jan 16 06:10:45 UTC 2006
#1043: Internal DVD Menu Support and Position Bar Support.
--------------------------------+-------------------------------------------
Reporter: skamithi at gmail.com | Owner: ijr
Type: defect | Status: new
Priority: minor | Milestone:
Component: mythtv | Version:
Severity: medium |
--------------------------------+-------------------------------------------
Brief list of features added, and some of the problems I tried to fix.
Some problems I encountered I can't figure out. Hope the feature works for
most folks.
Please help fix some of the problems I've encountered.
To Jump the annoying still frames at the start of a dvd, use the JUMPFFWD
action.
Pause , forwarding and rewinding is disabled in a dvd menu. If enabled,
things don't work right.
Bookmarking, currently breaks DVD menus. So I disabled that. Would like to
work
on this in the future.
For still frame support, most of the changes deal with:
* NuppelVideoPlayer::OutputVideoLoop()
* NuppelVideoPlayer::DisplayVideoFrame()
* AvFormatDecoder::OpenFile()
* AvFormatDecoder::GetFrame()
For dvd button support and dvd button navigation check out
the following functions
* ''(new function)'' NuppelVideoPlayer::DisplayDVDButton
* NuppelVideoPlayer::DisplayVideoFrame()
* NuppelVideoPlayer::DisplayPauseFrame()
* Most of the changes made to tv_play.cpp
Position bar support
* NuppelVideoPlayer::calcSliderPos()
I couldn't figure out a way to use the FFmpeg dvdsub.c subtitle
decoding functions. So I just ported what I needed to
DVDRingBufferPriv.cpp. If there is a better way to do this,
please share.
__Problems I tried to solve___
Had problems with Audio Stuttering/sync each time an audio track is
reselected.
To try and resolve it I did the following:
* Run NVP::ResetPlaying , each time a Audio Track is Selected
* Resync the position map in AvFormatDecoder::Reset() so as not to
affect ffw/rew
When starting a feature from the chapter list or scene selection, can't
forward or rewind
after that. To resolve it, in AVFormatDecoder::GetFrame() , check if the
title number changed. If so, resync the position map.
__Problems I cannot solve__
* DVD Button colors are wrong. I suck at this CLUT thing. So if someone
can figure it out, please do.
* DVD Button Positioning isn't quite right. If the button covers a word,
it doesn't cover the word properly.
* DVD Nav issues. Some DVDs do something weird. DVD has 8 parts in a
title. You play part 1, then you decide to jump to next part. The next
part doesn't work and you get a DVD_STOP. Screen goes black. If it runs
ClearAfterSeek() , I get a segv fault. Xine just does the right thing and
jumps to the next program or skips the part. Can't figure out how xine
does that.
* If I get a VideoOutputXv: InputChanged() event occurs and I was moving
from a regular stream to a still frame, DiscardVideoFrames, clears the
still frame from the queue , so I get a blank screen. I figure, one way to
solve this is to get the DVD player to just replay the Cell with the still
frame. Can't figure out how to do that.
* For the position bar, some DVD split the main title into 2 PGCs. Like
King's Ransom. Haven't figured out how to get the complete title length.
Right now, all I do is read the PGC length and assume that it is the total
length of the whole feature. Xine gets it right.
--
Ticket URL: <http://svn.mythtv.org/trac/ticket/1043>
MythTV <http://www.mythtv.org/>
MythTV
More information about the mythtv-commits
mailing list