[Libav-user] ReZound Integration Question

Carl Eugen Hoyos cehoyos at ag.or.at
Mon Oct 8 23:23:14 CEST 2012

Davy Durham <ddurham at ...> writes:

> I'm experimenting with changing rezound (a destructive audio 
> editor) to use libavcodec/libavformat instead of its current 
> use of many other libraries (libsndfile, libaudiofile, lame, 
> manual coding in some places, etc).

Without knowing anything about rezound, I wonder if it wouldn't 
make more sense to integrate rezound as an audio filter in 
libavfilter (assuming it is a library)...


> So then if the user chooses the save the file after doing 
> their editing, is it feasible (with libavformat) to replace 
> stream X in the original file leaving all other streams 
> intact?

"Replace" might be the wrong word:
You can mux video and audio streams into the usual containers 
(and some more), and you not just mux the edited and encoded 
audio from rezound but also the unchanged streams from the 
input file, but I wouldn't call the muxing "replacing" 


> I don't immediately see something like a struct for each 
> supported codec that describes all the options for that
> codec.  [Did I miss it?]

I think so because many codecs have an AVOption struct that 
describe their codec-specific options.
(Many options are global though).

> Also, is there a way to know from the library what codecs 
> are supported by a given muxer?

I don't think so, but some containers (like avi and nut) 
support basically any stream while others are special 
(and some allow you to put things in it that don't 
belong there). I suspect initializing a muxer with streams 
tells you the answer.


> I've found the doxygen code and the api-example.c (which 
> only helps with libavcodec). Are there other good 
> resources for figuring this stuff out?

doc/examples contains some more example code nowadays.

Carl Eugen

More information about the Libav-user mailing list