For what it's worth, here is my implementation of what I just proposed:

https://github.com/superjoe30/libgroove/blob/49f3508663c18377e8ed06fc3b942715a95c01a2/src/groove.c#L993

Critique welcome.


On Thu, Sep 12, 2013 at 1:17 PM, Andrew Kelley <[email protected]> wrote:

> So the way to do this is to demux, update metadata, and then mux. Is there
> a way to do this safely with libav? In other words is there a way to take
> an input context and convert it to an output context without danger of
> losing information? Would iterating over the streams in the input context
> and adding them without decoding to the output context safely produce a new
> output file that lost no data?
>
>
> On Thu, Sep 12, 2013 at 1:25 AM, Anton Khirnov <[email protected]> wrote:
>
>>
>> On Wed, 11 Sep 2013 12:08:19 -0400, Andrew Kelley <[email protected]>
>> wrote:
>> > Reading metadata is extremely simple. There's a nice metadata-example.c
>> > which demonstrates displaying all metadata for an input file.
>> >
>> > What about updating metadata?
>> >
>> > Do you have to re-mux the file to do so? Is it possible to update
>> metadata
>> > without destructive side-effects on the stream? Is there an example of
>> this?
>>
>> No, libavformat API is such that you're either demuxing the file or
>> muxing it.
>> There is currently no API for updating a file in place.
>>
>> --
>> Anton Khirnov
>>
>
>
_______________________________________________
libav-api mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-api

Reply via email to