On 01/18/2012 02:14 AM, Anton Khirnov wrote: > Specify that lavf is responsible for freeing the data. > --- > libavformat/avformat.h | 15 ++++++++++++--- > 1 files changed, 12 insertions(+), 3 deletions(-) > > diff --git a/libavformat/avformat.h b/libavformat/avformat.h > index fff911a..71aed80 100644 > --- a/libavformat/avformat.h > +++ b/libavformat/avformat.h > @@ -1701,9 +1701,18 @@ int av_write_frame(AVFormatContext *s, AVPacket *pkt); > * demuxer level. > * > * @param s media file handle > - * @param pkt The packet, which contains the stream_index, buf/buf_size, > - dts/pts, ... > - * @return < 0 on error, = 0 if OK, 1 if end of stream wanted > + * @param pkt The packet containing the data to be written. Libavformat takes > + * ownership of the data and will free it when it sees fit using the packet's > + * @ref AVPacket.destruct "destruct" field. The caller must not access the > data > + * after this function returns, as it may already be freed. > + * Packet's @ref AVPacket.stream_index "stream_index" field must be set to > the > + * index of the corresponding stream in @ref AVFormatContext.streams > + * "s.streams". > + * It is very strongly recommended that timing information (@ref AVPacket.pts > + * "pts", @ref AVPacket.dts "dts" @ref AVPacket.duration "duration") is set > to > + * correct values. > + * > + * @return 0 on success, a negative AVERROR on error. > */ > int av_interleaved_write_frame(AVFormatContext *s, AVPacket *pkt); >
Mostly looks good. The function already frees the packet in most cases. Not sure about the current vs. new wording for @return. What is that "1 if end of stream wanted", and is it true? -Justin _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
