[Live-devel] testOnDemandRTSPServer always stream audio/MPA and video/MPV?

Jonathan Granade edi87 at fibertel.com.ar
Wed Feb 2 15:49:09 PST 2011


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.)


More information about the live-devel mailing list