[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