[FFmpeg-devel] [PATCH 2/3] ffmpeg: open encoders after decoders
Wed Oct 6 18:04:52 CEST 2010
On Wed, Aug 11, 2010 at 05:43:48PM +0200, Aurelien Jacobs wrote:
> On Wed, Aug 11, 2010 at 06:25:02PM +0200, Michael Niedermayer wrote:
> > On Tue, Aug 10, 2010 at 10:39:37PM +0200, Aurelien Jacobs wrote:
> > > On Tue, Aug 10, 2010 at 02:10:35PM +0200, Michael Niedermayer wrote:
> > > > On Sun, Aug 08, 2010 at 02:26:57AM +0200, Aur?lien Jacobs wrote:
> > > > > From: Aurelien Jacobs <aurel at gnuage.org>
> > > > >
> > > > > ---
> > > > > ffmpeg.c | 46 +++++++++++++++++++++++-----------------------
> > > > > 1 files changed, 23 insertions(+), 23 deletions(-)
> > > >
> > > > this should be unneeded, av_find_stream_info() should cause all the things
> > > > to be set
> > >
> > > It currently don't. So I've tried to force av_find_stream_info() to fill
> > > the subtitle_header field with the attached patch. With this,
> > > av_find_stream_info() indeed fills subtitle_header, but after it finishes
> > > probing parameters, it calls avcodec_close() which effectively free the
> > > subtitle_header buffer.
> > > So after av_find_stream_info() call, subtitle_header is NULL again...
> > >
> > > Any better alternative ?
> > what problems are there with using extradata?
> Regarding the decoder, extradata is an input parameter which will
> contain the "header" in native subtitle format. The decoder then need to
> export the "decoded header" into generic format (ASS). That's what I
> added subtitle_header for. Trying to re-use extradata instead would mean
> overwritting something provided by the calling app, which might have
> been allocated with something else than av_malloc(), or that might even
> point to a static const buffer.
> The situation is exactly the same for the encoder, but reverted. It is
> supposed to output extradata in native encoded format and take the
> generic subtitle_header as input.
> So re-using extradata for this sounds like a dead-end to me.
> Any other idea ?
free subtitle_header like extradata so av_find_stream_info can be used
also this overlaps a bit with freeing of pointer fields like rc_eq, the
problem is similar
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Concerning the gods, I have no means of knowing whether they exist or not
or of what sort they may be, because of the obscurity of the subject, and
the brevity of human life -- Protagoras
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 198 bytes
Desc: Digital signature
More information about the ffmpeg-devel