On 28/08/13 11:10, Martin Storsjö wrote:
> On Wed, 28 Aug 2013, Luca Barbato wrote:
> 
>> Some devices expect it this way.
>> ---
>>
>> Not sure if it worthy an option.
>>
>> libavformat/rtpenc.c | 7 +++++--
>> 1 file changed, 5 insertions(+), 2 deletions(-)
>>
>> diff --git a/libavformat/rtpenc.c b/libavformat/rtpenc.c
>> index d330607..c501870 100644
>> --- a/libavformat/rtpenc.c
>> +++ b/libavformat/rtpenc.c
>> @@ -187,8 +187,11 @@ static int rtp_write_header(AVFormatContext *s1)
>>         break;
>>     case AV_CODEC_ID_H264:
>>         /* check for H.264 MP4 syntax */
>> -        if (st->codec->extradata_size > 4 && st->codec->extradata[0]
>> == 1) {
>> -            s->nal_length_size = (st->codec->extradata[4] & 0x03) + 1;
>> +        if (st->codec->extradata_size > 4) {
>> +            if (st->codec->extradata[0] == 1)
>> +                s->nal_length_size = (st->codec->extradata[4] & 0x03)
>> + 1;
>> +            ff_rtp_send_h264(s1, st->codec->extradata,
>> +                             st->codec->extradata_size);
>>         }
>>         break;
>>     case AV_CODEC_ID_VORBIS:
>> -- 
>> 1.8.3.2
> 
> Umm... If the extradata is in mp4 format, I'm not sure if any receiver
> ever would be able to parse what you send (and ff_rtp_send_h264 expects
> data in either annex b format or with mp4 format nal units, but it
> wouldn't make any sense of avcC format data).
> 
> If, on the other hand, the extradata is in annex-b format, then yes it
> might make sense. But then you could just as well disable the global
> header flag to make the encoder inject it into the stream instead of
> storing it in extradata (or use the appropriate bitstream filter for
> doing the same).
> 
> So I might be reluctantly ok with this if you'd make it only do it for
> annexb format, not blindly as right now. But I'd prefer to have users
> just not use global headers if they want such a h264/rtp stream.

That's why I'm pondering about adding an avoption, there are some
situations in which you want both a valid sdp and in-band ssp/sps so
switching to non-global isn't an option =/

lu

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to