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
