On Tue, 21 Feb 2017, wm4 wrote:
On Mon, 20 Feb 2017 21:11:50 +0100 (CET)
Marton Balint <c...@passwd.hu> wrote:
On Sun, 19 Feb 2017, Hendrik Leppkes wrote:
> On Sun, Feb 19, 2017 at 2:41 PM, wm4 <nfx...@googlemail.com> wrote:
>> On Sun, 19 Feb 2017 14:35:42 +0100
>> Marton Balint <c...@passwd.hu> wrote:
>>
>>> Reallocating a wrapped avframe invalidates internal pointers, such as extended
>>> data.
>>>
>>> FFmpeg has another way of passing AVFrames to muxers, but it seems the API
>>> (av_write_uncoded_frame) is not implemented in the ffmpeg CLI yet.
>>>
>>> Signed-off-by: Marton Balint <c...@passwd.hu>
>>> ---
>>> libavcodec/utils.c | 4 ++--
>>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>>
[...]
So is it OK to apply the patch?
My suggestion doesn't work? (Would probably imply adding the padding in
wrapped_avframe.c.)
Yes it does work, if I set the buffer size to sizeof(AVFrame) +
AV_INPUT_BUFFER_PADDING_SIZE. av_buffer_realloc already checks the size of
the buffer, and avoids the reallocation there is no size change.
In wrapped_avframe.c I can either lie about the buffer size in
av_create_buffer and set it bigger than the actual allocated memory for
the data (AVFrame). Or I can mallocz a buffer with the proper size with
padding, and move a frame ref to that buffer. Maybe that is better.
I will post an updated patch.
Thanks,
Marton
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel