[Ffmpeg-devel] Three ffserver patches for review
Luca Abeni
lucabe72
Thu Apr 19 09:47:54 CEST 2007
Hi Alex,
Alex Beregszaszi wrote:
>> remove_ffserver_callbacks.diff:
[...]
> Better if we don't have that much unused code. Remove it.
>
>> fix_possible_ffserver_crash.diff:
[...]
> I guess ok.
Good. I'll commit these two in the afternoon
>> do_not_allocate_feed_data_for_files.diff:
>> when ffserver is initialized, it allocates the AVStream->priv_data field
>> for containing "feed information" in every AVStream, even if they do not
>> use any feed. This is ok if the input stream is a "live feed" coming
>> from ffmpeg, but is not ok for regular files.
>
> Rejected, it must be a bug somewhere else.
Ok; I'll try to debug the problem some more...
> add_av_stream1 is basically equivalent to av_new_stream in utils.c.
The key difference is the thin which is creating the problem:
add_av_stream1() contains
fst->priv_data = av_mallocz(sizeof(FeedData));
And this field is copied into the stream which is dynamically created
when an RTP connection is created. When the RTP connection terminates,
av_write_trailer() is called, and it does
av_freep(&s->streams[i]->priv_data);
So, it's freeing fst->priv_data every time an RTP connection terminates,
but such field is only allocated at the program startup...
Anyway, this thing is confusing; maybe I got it wrong. I'll try have a
better look today.
> My local tree uses av_new_stream and removes duplicates.
Good. I gues this will automatically solve the problem. I'll try your
patch today. BTW, how do you allocate the priv_data field in AVStream?
Thanks,
Luca
More information about the ffmpeg-devel
mailing list