[Live-devel] A few more questions
Jeremy Bernstein
jeremy at bootsquad.com
Sun Jan 23 20:00:23 PST 2005
Great! That seems to work. Thanks very much.
One more: a couple of months ago (when I was trying to get this working
on a Mac), I mentioned that my H.263 frames were being streamed my
liveMedia at the wrong size - there's a large margin on the right and
bottom of the image frame. At that time, you suggested that the header
of the data I was sending ought to contain this information, and that
liveMedia would then be able to stream at the correct resolution. Which
has me wondering - is liveMedia expecting a buffer of compressed image
data (in this case of a FramedSource), or a buffer of pre-packetized
data, including any necessary RTP header data?
If the latter, I'm at a bit of a loss as to how to do that with
QuickTime. Has anyone got a suggestion? Or a hint for places in the
DirectX SDK to investigate? Either would be OK. Alternatively, if
people are already simply using data compressed by DirectX, and
everything seems to be working properly, that would be useful
information as well.
Thanks again, and in advance for any new insight,
jb
Sun, 23 Jan 2005 08:01:32 -0800, finlayson at live.com (Ross Finlayson):
>> Everything seems to be functioning, but rather slowly. My
>> doGetNextFrame() gets called only about 10 times per second, and I'm
>> seeing frames in VLC Player (on the same computer), at maybe 1 frame
>> per second. Quicktime player shows a single frame and then gives up.
> It sounds like your "doNextFrame()" may be setting
> "fDurationInMicroseconds" incorrectly before
> "FramedSource::afterGetting()" gets called.
>
> Because you are reading from a live source (I presume), rather than
> from a file, it turns out that you don't need to set
> "fDurationInMicroseconds". Instead, just leave it at its default
> value (0), which tells the "MultiFramedRTPSink" to not wait any time
> before asking for the next input frame. This works because - in your
> case - any delay needed to process the next frame will be taken care
> of by your "doNextFrame()".
>
> You should also check that you are setting "fPresentationTime"
> correctly. As you're reading from a live input source, you can
> probably just use "gettimeofday()" to set this (at the time that each
> frame is read). (This should work as long as your data doesn't
> include MPEG (2 or 4) 'B' frames.)
More information about the live-devel
mailing list