On Wed, Jan 25, 2012 at 7:14 AM, Justin Ruggles
<justin.rugg...@gmail.com> wrote:
> On 01/25/2012 05:37 AM, Martin Storsjö wrote:
>
>> ---
>>  libavformat/movenc.c |   19 +++++++++++++++++--
>>  1 files changed, 17 insertions(+), 2 deletions(-)
>>
>> diff --git a/libavformat/movenc.c b/libavformat/movenc.c
>> index dc0c040..6896519 100644
>> --- a/libavformat/movenc.c
>> +++ b/libavformat/movenc.c
>> @@ -349,6 +349,15 @@ static int mov_write_ms_tag(AVIOContext *pb, MOVTrack 
>> *track)
>>      return updateSize(pb, pos);
>>  }
>>
>> +static int mov_write_wfex_tag(AVIOContext *pb, MOVTrack *track)
>> +{
>> +    int64_t pos = avio_tell(pb);
>> +    avio_wb32(pb, 0);
>> +    ffio_wfourcc(pb, "wfex");
>> +    ff_put_wav_header(pb, track->enc);
>> +    return updateSize(pb, pos);
>> +}
>> +
>>  static int mov_write_chan_tag(AVIOContext *pb, MOVTrack *track)
>>  {
>>      uint32_t layout_tag, bitmap;
>> @@ -513,6 +522,8 @@ static int mov_write_audio_tag(AVIOContext *pb, MOVTrack 
>> *track)
>>          mov_write_ac3_tag(pb, track);
>>      else if(track->enc->codec_id == CODEC_ID_ALAC)
>>          mov_write_extradata_tag(pb, track);
>> +    else if(track->enc->codec_id == CODEC_ID_WMAPRO)
>> +        mov_write_wfex_tag(pb, track);
>>      else if(track->vosLen > 0)
>>          mov_write_glbl_tag(pb, track);
>>
>> @@ -762,9 +773,13 @@ static int mov_find_codec_tag(AVFormatContext *s, 
>> MOVTrack *track)
>>  {
>>      int tag = track->enc->codec_tag;
>>
>> -    if (track->mode == MODE_MP4 || track->mode == MODE_PSP || track->mode 
>> == MODE_ISM)
>> +    if (track->mode == MODE_MP4 || track->mode == MODE_PSP)
>> +        tag = mp4_get_codec_tag(s, track);
>> +    else if (track->mode == MODE_ISM) {
>>          tag = mp4_get_codec_tag(s, track);
>> -    else if (track->mode == MODE_IPOD)
>> +        if (!tag && track->enc->codec_id == CODEC_ID_WMAPRO)
>> +            tag = MKTAG('w', 'm', 'a', ' ');
>
>
> why is this separate fallback needed? does wmapro in mp4 not have an
> object type that could be added to ff_mp4_obj_type?
>

WMAPro does not have an assigned objectTypeIndication. Probably
because objectTypeIndication is only relevant inside an elementary
stream descriptor.
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to