On Thu, Jul 31, 2014 at 8:31 PM, wm4 <[email protected]> wrote:
> On Thu, 31 Jul 2014 19:56:41 -0400
> Andrew Stone <[email protected]> wrote:
>
>> ---
>>  libavformat/oggparsevorbis.c | 4 +++-
>>  1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/libavformat/oggparsevorbis.c b/libavformat/oggparsevorbis.c
>> index 58cb4a6..c6d8b2a 100644
>> --- a/libavformat/oggparsevorbis.c
>> +++ b/libavformat/oggparsevorbis.c
>> @@ -156,10 +156,12 @@ int ff_vorbis_comment(AVFormatContext *as, 
>> AVDictionary **m,
>>                      av_log(as, AV_LOG_WARNING, "Failed to parse cover art 
>> block.\n");
>>                      continue;
>>                  }
>> -            } else if (!ogm_chapter(as, tt, ct))
>> +            } else if (!ogm_chapter(as, tt, ct)) {
>> +                as->event_flags |= AVFMT_EVENT_FLAG_METADATA_UPDATED;
>>                  av_dict_set(m, tt, ct,
>>                              AV_DICT_DONT_STRDUP_KEY |
>>                              AV_DICT_DONT_STRDUP_VAL);
>> +            }
>>          }
>>      }
>>
>
> Did you cross-check with what ffmpeg does? I think it did much more
> here (although of course their metadata update API is different).

Theirs stores a field in struct ogg_stream called `new_metadata` which
is then later added as side-data on a packet; that's the really the
main difference. If we forget about how they populate side data, the
two are still functionally identical.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to