Re: DVD Playback graph problems
- From: Jon E <JonE@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Wed, 22 Mar 2006 06:40:28 -0800
"Peter Feldbaumer" wrote:
IMediaSample::GetMediaTime might help.
OK I'll try that, though I'm always concerned about
calling graph interfaces from
within a grabber. Should I be worried ?
since this is an interface on the sample itself - nothing
to be worried about...
Oops, of course!
But Microsoft DirectShow rule #1 is "If it looks useful, make sure it
doesn't work". Therefore, IMediaSample::GetMediaTime() returns
VFW_E_MEDIA_TIME_NOT_SET :-(
so specifying DVD_CMD_FLAG_Flush didn't help? or do you simply still see
some "unwanted" samples?
According to the docs it should help...
Makes no difference. Using the DVDSample I changed the PlayAtTime call
in CDvdCore::PlayTime() from DVD_CMD_FLAG_BLOCK to DVD_CMD_FLAG_Flush
and still get a few frames before the correct one appears.
BUT ! Way-hay, now DVDSample doesn't deadlock if call PlayAtTime
twice withouht playing in between. Minor progress :-)
can you test with the DVDSample and some other dvd? if it only deadlocks
with your dvds, then there might be something wrong with the generated dvds?
Have tested with various DVD's as we've only been allowed one of the
"real" DVD's (... I'm now sick of Wallace and Grommit ! ;-) )
since this sounds as if you know about how the discs are authored (from
these hardware digital video recorders),
Well, not really. They are supposed to be authored in exactly the same
way as a standard regular DVD in all respects (other than there isn't
any region protection or copy protection issues).
you might be able to render the vob-files directly...?
A good suggestion. I abandoned this once as render stream seemed to crash.
More patience needed, leaving it going for ~15 seconds finally produces
a graph ! After a IMediaSeeking::SetPositions() I do NOT get the
unwanted images prior to the correct image ... but, as you have highlighted
before the sample time gets reset to zero :-( And calling IMediaSeeking
to get the position from inside the grabber deadlocks :-( But now I know
that after a SetPositions() the first sample into the grabber IS
the correct sample perhaps I can re-construct a true frame number !?
What I don't yet know is do I get the frame number I asked for, or the
first frame of a block, shall investigate.
No real need to use the integrated dvd-components,
since the discs certainly aren't css-protected.
Yes and no. The end user will expect to be able to view the DVD just
like a stand alone player or a standard windows player app, and
I don't think I can achieve this without the IDVDGraphBuilder.
TTFN,
Jon
.
- Follow-Ups:
- Re: DVD Playback graph problems
- From: Peter Feldbaumer
- Re: DVD Playback graph problems
- References:
- DVD Playback graph problems
- From: Jon E
- Re: DVD Playback graph problems
- From: Peter Feldbaumer
- Re: DVD Playback graph problems
- From: Jon E
- Re: DVD Playback graph problems
- From: Peter Feldbaumer
- DVD Playback graph problems
- Prev by Date: Re: ICaptureGraphBuilder.ControlStream and problem with the result video file
- Next by Date: Re: How to play audio and video from two different sources
- Previous by thread: Re: DVD Playback graph problems
- Next by thread: Re: DVD Playback graph problems
- Index(es):