GNOME Bugzilla – Bug 428698
[rmdemux] crashes on files with many logical streams
Last modified: 2007-04-12 10:10:42 UTC
The rmdemux element can handle a maximum number of 8 logical streams; the rmdemux->streams array is of constant size 8. As the element parses the stream and fills the array in gst_rmdemux_add_stream, it never checks if the limit has been reached. It writes past the limit of the array instead. Attaching a patch that converts the constant size array to GSList usage, lifting any limit on the number of logical streams and making the element not crash when n_streams > 8.
Created attachment 86187 [details] [review] Make rmdemux handle any number of logical streams
Patch by: René Stadler <mail at renestadler dot de> * gst/realmedia/rmdemux.c: (find_seek_offset_bytes), (find_seek_offset_time), (gst_rmdemux_reset), (gst_rmdemux_get_stream_by_id), (gst_rmdemux_send_event), (gst_rmdemux_add_stream), (gst_rmdemux_combine_flows): * gst/realmedia/rmdemux.h: Make rmdemux handle any number of logical streams. Fixes #428698.