Re: Windows Media Services plugin



From: "David Eu"

I ran your program on a stream and when I play back the
resulting split files the video freezes up at the
beginning of the files (excluding the first file) and the

I made a dumb mistake with the timestamps. You may want to
try the fixed version I just uploaded.

audio data is missing at the end of each file.

That is by design. The code is format-agnostic, so it splits
whenever it has a chance, which means most likely on an
audio frame, so that you will end up with:

V: ... 3 4 5 6 7 || # # # 8 9...
A: ... 3 4 # # # || 5 6 7 8 9...

No data is lost. Anyway, I added an additional condition to
split on a master stream, which defaults to the first video
stream, if present.

Any insights on how to properly split the stream cleanly
so that no freezing occurs and also wmvappend will be
able to glue them back together again seamlessly?

With the corrected timestamps, there should be no freezing.

Another question: I read in the MSDN docs that on streams
the reader will mark the first stream sample with
WM_SF_DISCONTINUITY. This would mean that each
file F1, F2, F3, etc starts with a discontinuity flag. I
was wondering if this could cause a problem with
wmvappend as that flag then appears in the output file
where each original split was made. Could this be an
issue? If so, how can I eliminate the WM_SF_DISCONTINUITY
flag? Turning it off in the call to WriteStreamSample()
does not seem to help.

WMVAppend already takes care of the WM_SF_DISCONTINUITY. In
any case, a WM_SF_DISCONTINUITY on a sample that is also a
WM_SF_CLEANPOINT (which is the case with my splitter) has no
effect.

--
// Alessandro Angeli
// MVP :: DirectShow / MediaFoundation
// mvpnews at riseoftheants dot com
// http://www.riseoftheants.com/mmx/faq.htm



.



Relevant Pages

  • Re: Getting -ve timestamp values.
    ... I tried using the SO_TIMESTAMP flag for obtaining the time ... stamp. ... But it is returning me -ve timestamps. ...
    (comp.unix.programmer)
  • Re: [SLE] cron not recognizing changes to /etc/cron.d files [SOLVED] - OT
    ... without the -t flag!! ... The same for SUSE 10.0 - I just checked. ... I came away with the impression that there were only two timestamps being ... maintained by any of the underlying file systems (Reiser, EXT2, EXT3, ...
    (SuSE)
  • clock format and timezones
    ... I'm trying to output some timestamps according to specific ... timezones. ... I tried using the -gmt flag, ... (remove the uppercase letters...) ...
    (comp.lang.tcl)
  • WM_SF_DISCONTINUITY
    ... The frames and timestamps you get after a discontinuity ... so you don't need to modify the ... The flag just tells you that the sample is not continuous ...
    (microsoft.public.windowsmedia.sdk)

Quantcast