Ross,

I checked what you mentioned about the duration...

I see that fDurationInMicroseconds is filled where you said, but method duration() of OnDemandServerMediaSubsession is always 0 for both streams, while if I stream a mpeg file with MPEG1or2* objects, duration() method returns the duration of the file.

Is there any way to get it?

Thanks

On 02/02/2011 01:55 AM, Ross Finlayson wrote:

sms->addSubsession(MPEG4VideoFileServerMediaSubsession::createNew(*env, 
v_inputFileName,
reuseFirstSource));

sms->addSubsession(ADTSAudioFileServerMediaSubsession::createNew(*env,
a_inputFileName, reuseFirstSource));

[...]

And I have a stream that have MPEG4-GENERIC and MP4V-ES.

The problem I got now is the duration... I found that in both
subsessiions the duration is 0... and I did not found code to retrieve
duration of MPEG4Video and ADTSAudio.

No, the "fDurationInMicroseconds" field is set in both cases. For
"MPEG4VideoFileServerMediaSubsession", it is set in
"MPEG4VideoStreamFramer" (actually, in its parent class
"MPEGVideoStreamFramer"). For "ADTSAudioFileServerMediaSubsession" it is
set in "ADTSAudioFileSource".

This is a 'wild goose chase'; the frame durations should be set
properly. (You can verify this by noting the "durationInMicroseconds"
parameter to each call to "MultiFramedRTPSink::afterGettingFrame()", for
each of your two "RTPSink"s.)

(As always, this assumes that you have not modified the supplied source
code. If you have made *any* modification to the supplied source code,
you can't expect any support on this mailing list.)
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to