summaryrefslogtreecommitdiffstats
path: root/gst/avi/gstavidemux.c
Commit message (Collapse)AuthorAgeFilesLines
* gst/avi/gstavidemux.*: Parse subtitle text streams instead of erroring out ↵Tim-Philipp Müller2007-05-301-2/+21
| | | | | | | | | | | (#442034). Still needs a parser for the su... Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_base_init), (gst_avi_demux_reset), (gst_avi_demux_parse_stream): * gst/avi/gstavidemux.h: Parse subtitle text streams instead of erroring out (#442034). Still needs a parser for the subtitles to actually show up.
* gst/avi/gstavidemux.c: Make _push_event() return TRUE if the event could be ↵Tim-Philipp Müller2007-05-301-8/+9
| | | | | | | | | | | | pushed on at least one pad and not only i... Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_push_event), (gst_avi_demux_loop): Make _push_event() return TRUE if the event could be pushed on at least one pad and not only if it could be pushed on all pads, otherwise we'll end up posting an error message on EOS if one or more source pads are not connected.
* gst/: Fix some compiler warnings. Fixes #428182.Peter Kjellerstedt2007-04-101-1/+1
| | | | | | | | | | | | | | Original commit message from CVS: Patch by: Peter Kjellerstedt <pkj at axis com> * gst/avi/gstavidemux.c: (gst_avi_demux_massage_index): * gst/rtp/gstrtpL16depay.c: * gst/rtp/gstrtpmp4gdepay.c: (gst_rtp_mp4g_depay_process): * gst/rtp/gstrtpspeexdepay.c: (gst_rtp_speex_depay_get_mode), (gst_rtp_speex_depay_setcaps): * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_media_to_caps), (gst_rtspsrc_stream_configure_transport), (gst_rtspsrc_loop_udp): * gst/udp/gstmultiudpsink.c: (gst_multiudpsink_init_send): Fix some compiler warnings. Fixes #428182.
* gst/avi/gstavidemux.c: Don't leave the offsets defined by upstream element ↵Julien Moutte2007-04-051-0/+2
| | | | | | | | | | | | on the compressed data buffer we are pushi... Original commit message from CVS: 2007-04-05 Julien MOUTTE <julien@moutte.net> * gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry): Don't leave the offsets defined by upstream element on the compressed data buffer we are pushing downstream. Make them GST_BUFFER_OFFSET_NONE.
* gst/avi/: Don't abort on out-of-memory. Use stream-nr as unsigned integer only.Stefan Kost2007-04-041-40/+76
| | | | | | | | | | | | | | Original commit message from CVS: * gst/avi/README: * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query), (gst_avi_demux_parse_stream), (gst_avi_demux_parse_index), (gst_avi_demux_stream_index), (gst_avi_demux_sync), (gst_avi_demux_stream_scan), (gst_avi_demux_massage_index), (gst_avi_demux_calculate_durations_from_index), (gst_avi_demux_stream_header_push), (gst_avi_demux_stream_header_pull), (gst_avi_demux_combine_flows), (gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data): Don't abort on out-of-memory. Use stream-nr as unsigned integer only.
* Printf format fixes; also add some missing quotes in translated strings. ↵Tim-Philipp Müller2007-03-101-10/+10
| | | | | | | | | | | | Fixes #416728 and #416727. Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_parse_subindex), (gst_avi_demux_parse_index): * sys/v4l2/v4l2_calls.c: (gst_v4l2_fill_lists): * sys/v4l2/v4l2src_calls.c: (gst_v4l2src_grab_frame): Printf format fixes; also add some missing quotes in translated strings. Fixes #416728 and #416727.
* gst/avi/gstavidemux.c: Fix stream position reporting after a seek. Fixes ↵Wim Taymans2007-03-091-0/+2
| | | | | | | | | | | #416445. Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream), (gst_avi_demux_push_event), (gst_avi_demux_do_seek), (gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data), (gst_avi_demux_chain): Fix stream position reporting after a seek. Fixes #416445.
* gst/avi/gstavidemux.c: Make avidemux accept optional header chunks in any order.René Stadler2007-03-081-58/+71
| | | | | | | | | | Original commit message from CVS: Patch by: René Stadler <mail at renestadler dot de> * gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream), (gst_avi_demux_push_event), (gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data), (gst_avi_demux_chain): Make avidemux accept optional header chunks in any order. Fixes #415446.
* gst/avi/gstavidemux.c: Fix combined flow return. Fixes #412608.Wim Taymans2007-02-281-52/+41
| | | | | | | | Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_combine_flows), (gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data), (gst_avi_demux_loop), (gst_avi_demux_chain): Fix combined flow return. Fixes #412608.
* gst/avi/gstavidemux.c: Put debug stuff into #ifndef GST_DISABLE_DEBUG #endifStefan Kost2007-02-131-7/+15
| | | | | | | | | | | | Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query), (gst_avi_demux_parse_index), (gst_avi_demux_stream_index), (gst_avi_demux_sync), (gst_avi_demux_massage_index), (gst_avi_demux_calculate_durations_from_index), (gst_avi_demux_push_event), (gst_avi_demux_stream_header_pull), (gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data), (gst_avi_demux_loop): Put debug stuff into #ifndef GST_DISABLE_DEBUG #endif
* gst/avi/gstavidemux.*: Save some memory (8%) by repacking the index entry ↵Stefan Kost2007-02-121-195/+290
| | | | | | | | | | | | | | | | | | | | structure (more to come). Add more FIXMEs t... Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_class_init), (gst_avi_demux_reset), (gst_avi_demux_index_entry_for_time), (gst_avi_demux_handle_src_query), (gst_avi_demux_parse_superindex), (gst_avi_demux_parse_subindex), (gst_avi_demux_parse_stream), (gst_avi_demux_parse_index), (gst_avi_demux_stream_index), (gst_avi_demux_sync), (gst_avi_demux_next_data_buffer), (gst_avi_demux_stream_scan), (gst_avi_demux_massage_index), (gst_avi_demux_calculate_durations_from_index), (gst_avi_demux_push_event), (gst_avi_demux_stream_header_pull), (gst_avi_demux_do_seek), (gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data), (gst_avi_demux_loop): * gst/avi/gstavidemux.h: Save some memory (8%) by repacking the index entry structure (more to come). Add more FIXMEs to questionable parts.
* gst/avi/gstavidemux.c: Error out properly when pull_range fails while we're ↵Tim-Philipp Müller2007-01-221-9/+13
| | | | | | | | | reading the headers, instead of just paus... Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_stream_header_pull): Error out properly when pull_range fails while we're reading the headers, instead of just pausing the task silently. Fixes #399338.
* gst/avi/gstavidemux.c: Fix docs.Wim Taymans2007-01-091-2/+4
| | | | | | Original commit message from CVS: * gst/avi/gstavidemux.c: Fix docs.
* gst/avi/gstavidemux.c: remove dead code, tweak debugs statements, add ↵Stefan Kost2006-11-241-75/+171
| | | | | | | | | | | | | | | | | | | | | comments, use _uint64_scale instead _uint64_sca... Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_index_entry_for_time), (gst_avi_demux_src_convert), (gst_avi_demux_handle_src_query), (gst_avi_demux_peek_chunk), (gst_avi_demux_parse_subindex), (gst_avi_demux_read_subindexes_push), (gst_avi_demux_read_subindexes_pull), (gst_avi_demux_parse_stream), (gst_avi_demux_parse_index), (gst_avi_demux_stream_index), (gst_avi_demux_sync), (gst_avi_demux_next_data_buffer), (gst_avi_demux_massage_index), (gst_avi_demux_calculate_durations_from_index), (gst_avi_demux_stream_header_pull), (gst_avi_demux_do_seek), (gst_avi_demux_handle_seek), (gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data), (gst_avi_demux_loop): remove dead code, tweak debugs statements, add comments, use _uint64_scale instead _uint64_scale_int when using guint64 values, small optimizations, reflow some error handling
* gst/avi/gstavidemux.c: Initialise variable to get rid of bogus compiler warning.Tim-Philipp Müller2006-11-161-1/+1
| | | | | | Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_stream_scan): Initialise variable to get rid of bogus compiler warning.
* gst/avi/gstavidemux.c: Disable init_frames delay timestamp adjustment, it ↵Wim Taymans2006-11-141-2/+9
| | | | | | | | | does not seem to be needed at all. Fixes #3... Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_massage_index): Disable init_frames delay timestamp adjustment, it does not seem to be needed at all. Fixes #369621.
* gst/avi/gstavidemux.c: Use higher precision scale function.Wim Taymans2006-10-311-2/+2
| | | | | | Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query): Use higher precision scale function.
* gst/avi/gstavidemux.c: Fix position query for audio. also fixes timestamps ↵Wim Taymans2006-10-281-78/+88
| | | | | | | | | | | | | | in streaming mode and bug #364958. Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query), (gst_avi_demux_parse_file_header), (gst_avi_demux_stream_init_push), (gst_avi_demux_parse_stream), (gst_avi_demux_stream_header_push), (gst_avi_demux_stream_data), (gst_avi_demux_chain): Fix position query for audio. also fixes timestamps in streaming mode and bug #364958. Small cleanups.
* Printf format fixes.Tim-Philipp Müller2006-10-051-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * ext/cairo/gsttimeoverlay.c: (gst_cairo_time_overlay_update_font_height): * ext/gdk_pixbuf/pixbufscale.c: (gst_pixbufscale_transform_caps): * ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_parse_image_data): * ext/jpeg/gstjpegenc.c: (gst_jpegenc_chain): * ext/jpeg/gstsmokedec.c: (gst_smokedec_chain): * ext/jpeg/gstsmokeenc.c: (gst_smokeenc_chain): * ext/libpng/gstpngdec.c: (user_endrow_callback): * gst/auparse/gstauparse.c: (gst_au_parse_parse_header): * gst/avi/gstavidemux.c: (gst_avi_demux_parse_superindex), (gst_avi_demux_parse_subindex), (gst_avi_demux_parse_stream), (gst_avi_demux_stream_data): * gst/cutter/gstcutter.c: (gst_cutter_chain): * gst/debug/efence.c: (gst_efence_buffer_alloc), (gst_fenced_buffer_copy): * gst/id3demux/id3v2frames.c: (id3demux_id3v2_parse_frame): * gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream): * gst/matroska/matroska-mux.c: (gst_matroska_mux_start): * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_send), (gst_rtspsrc_handle_message): * gst/wavparse/gstwavparse.c: (gst_wavparse_stream_headers): * sys/ximage/ximageutil.c: (ximageutil_xcontext_get): Printf format fixes.
* gst/avi/gstavidemux.c: Don't check for a tag that is never there and check ↵Wim Taymans2006-09-221-7/+4
| | | | | | | | | | if we read the correct tag. Fixes seeking ... Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_stream_index): Don't check for a tag that is never there and check if we read the correct tag. Fixes seeking again. We must post an error when all pads are unlinked.
* gst/avi/gstavidemux.c: More code reuse and better logging in _peek_chunk(). ↵Stefan Kost2006-09-131-101/+100
| | | | | | | | | | | | | | Reintroduce check for chunk sizes before ... Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_peek_chunk), (gst_avi_demux_stream_index), (gst_avi_demux_sync), (gst_avi_demux_stream_header_push), (gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data), (gst_avi_demux_loop): More code reuse and better logging in _peek_chunk(). Reintroduce check for chunk sizes before reading them (avoid oom). Better handling for invalid chunksizes when streaming.
* gst/avi/gstavidemux.c: Revert one change to fix streaming avi (adapter size ↵Stefan Kost2006-09-061-12/+16
| | | | | | | | | | != data size). Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_read_subindexes_pull), (gst_avi_demux_sync), (gst_avi_demux_stream_header_push), (gst_avi_demux_stream_data): Revert one change to fix streaming avi (adapter size != data size).
* gst/avi/gstavidemux.c: Initialze variables.Stefan Kost2006-08-271-4/+4
| | | | | | | Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_next_data_buffer), (gst_avi_demux_stream_scan): Initialze variables.
* gst/avi/gstavidemux.*: More attempts to turn this into readable code.Wim Taymans2006-08-251-216/+215
| | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_class_init), (gst_avi_demux_init), (gst_avi_demux_finalize), (gst_avi_demux_reset), (gst_avi_demux_index_last), (gst_avi_demux_index_next), (gst_avi_demux_index_entry_for_time), (gst_avi_demux_parse_subindex), (gst_avi_demux_parse_index), (gst_avi_demux_stream_index), (gst_avi_demux_peek_tag), (gst_avi_demux_next_data_buffer), (gst_avi_demux_stream_scan), (gst_avi_demux_massage_index), (gst_avi_demux_calculate_durations_from_index), (gst_avi_demux_stream_header_pull), (gst_avi_demux_do_seek), (gst_avi_demux_process_next_entry), (gst_avi_demux_loop), (gst_avi_demux_chain), (gst_avi_demux_sink_activate), (gst_avi_demux_change_state): * gst/avi/gstavidemux.h: More attempts to turn this into readable code. Don't leak adapters. Calculate duration according to index more efficiently. Don't try to act like we drive the pipeline in chain mode.
* gst/avi/gstavidemux.c: unbreak AVI index handling, some more debug, remove ↵Stefan Kost2006-08-241-22/+24
| | | | | | | | | | | | | an obsolete adapter_flush that caused stre... Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_read_subindexes_pull), (gst_avi_demux_sync), (gst_avi_demux_stream_header_push), (gst_avi_demux_stream_header_pull), (gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data), (gst_avi_demux_chain): unbreak AVI index handling, some more debug, remove an obsolete adapter_flush that caused streaming to wander off in the wild
* gst/avi/gstavidemux.*: Some more cleanups.Wim Taymans2006-08-241-115/+106
| | | | | | | | | | | | | | | | Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query), (gst_avi_demux_parse_superindex), (gst_avi_demux_parse_subindex), (gst_avi_demux_parse_stream), (gst_avi_demux_parse_odml), (gst_avi_demux_parse_index), (gst_avi_demux_stream_index), (gst_avi_demux_calculate_durations_from_index), (gst_avi_demux_stream_header_push), (gst_avi_demux_stream_header_pull): * gst/avi/gstavidemux.h: Some more cleanups. Fix totalFrames parsing in ODML. Disable use of index for length calculation in case of ODML as this is broken now.
* gst/avi/gstavidemux.*: Initial streaming support for avidemux (fixes #336465)Stefan Kost2006-08-231-130/+907
| | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_class_init), (gst_avi_demux_init), (gst_avi_demux_dispose), (gst_avi_demux_reset), (gst_avi_demux_index_next), (gst_avi_demux_index_entry_for_time), (gst_avi_demux_src_convert), (gst_avi_demux_handle_src_query), (gst_avi_demux_handle_src_event), (gst_avi_demux_peek_chunk_info), (gst_avi_demux_peek_chunk), (gst_avi_demux_stream_init_push), (gst_avi_demux_stream_init_pull), (gst_avi_demux_parse_subindex), (gst_avi_demux_read_subindexes_push), (gst_avi_demux_read_subindexes_pull), (gst_avi_demux_parse_stream), (sort), (gst_avi_demux_parse_index), (gst_avi_demux_stream_index), (gst_avi_demux_sync), (gst_avi_demux_peek_tag), (gst_avi_demux_massage_index), (gst_avi_demux_stream_header_push), (gst_avi_demux_stream_header_pull), (gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data), (push_tag_lists), (gst_avi_demux_loop), (gst_avi_demux_chain), (gst_avi_demux_sink_activate), (gst_avi_demux_activate_push), (gst_avi_demux_change_state): * gst/avi/gstavidemux.h: Initial streaming support for avidemux (fixes #336465)
* gst/avi/gstavidemux.*: Mark DISCONT.Wim Taymans2006-08-221-2/+22
| | | | | | | | | | Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream), (gst_avi_demux_do_seek), (gst_avi_demux_handle_seek), (gst_avi_demux_process_next_entry): * gst/avi/gstavidemux.h: Mark DISCONT. Remove old unused fields and reorder the struct a bit.
* gst/avi/gstavidemux.*: Precalc most of the duration query for each stream.Wim Taymans2006-08-221-353/+340
| | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_reset), (gst_avi_demux_index_entry_for_time), (gst_avi_demux_handle_src_query), (gst_avi_demux_handle_src_event), (gst_avi_demux_stream_init), (gst_avi_demux_parse_stream), (gst_avi_demux_stream_index), (gst_avi_demux_peek_tag), (gst_avi_demux_next_data_buffer), (gst_avi_demux_calculate_durations_from_index), (gst_avi_demux_stream_header), (gst_avi_demux_do_seek), (gst_avi_demux_handle_seek), (gst_avi_demux_aggregated_flow), (gst_avi_demux_process_next_entry), (gst_avi_demux_loop), (gst_avi_demux_sink_activate_pull), (gst_avi_demux_change_state): * gst/avi/gstavidemux.h: Precalc most of the duration query for each stream. Make seeking more correct. Use GstSegment to track position and duration. Code cleanups and leak fixes. Calculate correct total duration based on index length.
* gst/avi/gstavidemux.*: Whitespace fixes and more debugStefan Kost2006-07-281-2/+7
| | | | | | | | Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_stream_index), (gst_avi_demux_massage_index): * gst/avi/gstavidemux.h: Whitespace fixes and more debug
* gst/avi/gstavidemux.c: Moved win32 variant of GST_DEBUG_CATEGORY_EXTERN to ↵Stefan Kost2006-07-251-33/+22
| | | | | | | | | | gstinfo.h. Fixed indentation and spacing. Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_read_subindexes), (gst_avi_demux_parse_stream): Moved win32 variant of GST_DEBUG_CATEGORY_EXTERN to gstinfo.h. Fixed indentation and spacing.
* gst/avi/gstavidemux.c: Fix some leaks.Wim Taymans2006-07-211-0/+4
| | | | | | | | | Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream), (gst_avi_demux_process_next_entry): Fix some leaks. * gst/id3demux/id3tags.c: (id3demux_id3v2_frames_to_tag_list): Don't use \n in debug lines.
* gst/avi/gstavidemux.*: Don't push tag events found by gst_riff_parse_info() ↵Edward Hervey2006-07-101-6/+11
| | | | | | | | | | | before outputting Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_reset), (gst_avi_demux_stream_header), (push_tag_lists): * gst/avi/gstavidemux.h: Don't push tag events found by gst_riff_parse_info() before outputting GST_EVENT_NEWSEGMENT.
* gst/avi/gstavidemux.*: Proper aggregation of each stream's GstFlowReturn in ↵Edward Hervey2006-07-031-32/+82
| | | | | | | | | | | | | | | | | | order to figure out whether the task shou... Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_reset), (gst_avi_demux_read_subindexes), (gst_avi_demux_parse_stream), (gst_avi_demux_handle_seek), (gst_avi_demux_aggregated_flow), (gst_avi_demux_process_next_entry), (push_tag_lists), (gst_avi_demux_stream_data), (gst_avi_demux_loop): * gst/avi/gstavidemux.h: Proper aggregation of each stream's GstFlowReturn in order to figure out whether the task should stop or not. Don't send inline events before pushing out a NEW_SEGMENT, more specifically for GST_TAG_EVENT. Change a GST_ERROR to a GST_WARNING for a non-fatal situation in reading sub-indexes.
* gst/avi/gstavidemux.c: Prevent out of bounds array access when scrubbing ↵Tim-Philipp Müller2006-06-131-0/+2
| | | | | | | | | | | towards the end of the file between the last... Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_handle_seek): Prevent out of bounds array access when scrubbing towards the end of the file between the last index entry and the end. Fixes occasional 'start <= stop' newsegment event assertions when scrubbing in MJPEG files.
* gst/avi/gstavidemux.c: add an explicit dll imported declaration for ↵Sébastien Moutte2006-05-301-21/+31
| | | | | | | | | | | | | | | | GST_CAT_EVENT+WIN32 Original commit message from CVS: * gst/avi/gstavidemux.c: add an explicit dll imported declaration for GST_CAT_EVENT+WIN32 * win32/MANIFEST: sort file listing * win32/vs6/libgstavi.dsp: add gstavimux.c to the project * win32/vs6/libgstid3demux.dsp: add link to zlib library * win32/vs6/libgstmatroska.dsp: add matroska-ids.c to the project
* gst/avi/gstavidemux.c: Ooops, bitten by the copy-and-paste design paradigm, ↵Wim Taymans2006-05-121-1/+1
| | | | | | | | | | | fixes seek again. Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_index_next), (gst_avi_demux_parse_index), (gst_avi_demux_massage_index), (gst_avi_demux_handle_seek), (gst_avi_demux_loop): Ooops, bitten by the copy-and-paste design paradigm, fixes seek again.
* gst/avi/gstavidemux.*: Some cleanups, prepare to use GstSegment.Wim Taymans2006-05-121-140/+154
| | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_reset), (gst_avi_demux_index_next), (gst_avi_demux_handle_src_query), (gst_avi_demux_handle_src_event), (gst_avi_demux_parse_subindex), (gst_avi_demux_parse_stream), (gst_avi_demux_parse_index), (gst_avi_demux_stream_index), (gst_avi_demux_stream_scan), (gst_avi_demux_massage_index), (gst_avi_demux_calculate_durations_from_index), (gst_avi_demux_push_event), (gst_avi_demux_stream_header), (gst_avi_demux_handle_seek), (gst_avi_demux_process_next_entry), (gst_avi_demux_loop): * gst/avi/gstavidemux.h: Some cleanups, prepare to use GstSegment. Fix error in entry walking code. Fix VBR detection. Smarter timestamp calculation code. Uniform error/eos handling.
* Add docs for both avidemux and avimux.Tim-Philipp Müller2006-04-271-0/+24
| | | | | | | | | | | | Original commit message from CVS: * docs/plugins/Makefile.am: * docs/plugins/gst-plugins-good-plugins-docs.sgml: * docs/plugins/gst-plugins-good-plugins-sections.txt: * docs/plugins/gst-plugins-good-plugins.hierarchy: * docs/plugins/inspect/plugin-avi.xml: * gst/avi/gstavidemux.c: * gst/avi/gstavimux.c: Add docs for both avidemux and avimux.
* Define GstElementDetails as const and also static (when defined as global)Stefan Kost2006-04-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * ext/aalib/gstaasink.c: * ext/annodex/gstcmmldec.c: * ext/annodex/gstcmmlenc.c: * ext/cairo/gsttextoverlay.c: * ext/cairo/gsttimeoverlay.c: * ext/cdio/gstcdiocddasrc.c: * ext/dv/gstdvdec.c: * ext/dv/gstdvdemux.c: * ext/esd/esdmon.c: * ext/esd/esdsink.c: * ext/flac/gstflacenc.c: * ext/flac/gstflactag.c: * ext/gconf/gstgconfaudiosink.c: (gst_gconf_audio_sink_base_init): * ext/gconf/gstgconfaudiosrc.c: (gst_gconf_audio_src_base_init): * ext/gconf/gstgconfvideosink.c: (gst_gconf_video_sink_base_init): * ext/gconf/gstgconfvideosrc.c: (gst_gconf_video_src_base_init): * ext/gdk_pixbuf/pixbufscale.c: * ext/hal/gsthalaudiosink.c: (gst_hal_audio_sink_base_init): * ext/hal/gsthalaudiosrc.c: (gst_hal_audio_src_base_init): * ext/jpeg/gstjpegdec.c: * ext/jpeg/gstjpegenc.c: * ext/jpeg/gstsmokedec.c: * ext/jpeg/gstsmokeenc.c: * ext/libcaca/gstcacasink.c: * ext/libmng/gstmngdec.c: * ext/libmng/gstmngenc.c: * ext/libpng/gstpngdec.c: * ext/libpng/gstpngenc.c: * ext/mikmod/gstmikmod.c: * ext/raw1394/gstdv1394src.c: * ext/shout2/gstshout2.c: (gst_shout2send_init): * ext/shout2/gstshout2.h: * ext/speex/gstspeexdec.c: * ext/speex/gstspeexenc.c: * gst/alpha/gstalpha.c: * gst/alpha/gstalphacolor.c: * gst/apetag/gstapedemux.c: * gst/auparse/gstauparse.c: * gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_base_init): * gst/autodetect/gstautovideosink.c: (gst_auto_video_sink_base_init): * gst/avi/gstavidemux.c: (gst_avi_demux_base_init): * gst/avi/gstavimux.c: (gst_avimux_base_init): * gst/cutter/gstcutter.c: * gst/debug/breakmydata.c: * gst/debug/efence.c: * gst/debug/gstnavigationtest.c: * gst/debug/gstnavseek.c: * gst/debug/negotiation.c: * gst/debug/progressreport.c: * gst/debug/testplugin.c: * gst/effectv/gstaging.c: * gst/effectv/gstdice.c: * gst/effectv/gstedge.c: * gst/effectv/gstquark.c: * gst/effectv/gstrev.c: * gst/effectv/gstshagadelic.c: * gst/effectv/gstvertigo.c: * gst/effectv/gstwarp.c: * gst/flx/gstflxdec.c: * gst/goom/gstgoom.c: * gst/icydemux/gsticydemux.c: * gst/id3demux/gstid3demux.c: * gst/interleave/deinterleave.c: * gst/interleave/interleave.c: * gst/law/alaw-decode.c: (gst_alawdec_base_init): * gst/law/alaw-encode.c: (gst_alawenc_base_init): * gst/law/mulaw-decode.c: (gst_mulawdec_base_init): * gst/law/mulaw-encode.c: (gst_mulawenc_base_init): * gst/level/gstlevel.c: * gst/matroska/matroska-demux.c: (gst_matroska_demux_base_init): * gst/matroska/matroska-mux.c: (gst_matroska_mux_base_init): * gst/median/gstmedian.c: * gst/monoscope/gstmonoscope.c: * gst/multipart/multipartdemux.c: * gst/multipart/multipartmux.c: * gst/oldcore/gstaggregator.c: * gst/oldcore/gstfdsink.c: * gst/oldcore/gstmd5sink.c: * gst/oldcore/gstmultifilesrc.c: * gst/oldcore/gstpipefilter.c: * gst/oldcore/gstshaper.c: * gst/oldcore/gststatistics.c: * gst/rtp/gstasteriskh263.c: * gst/rtp/gstrtpL16depay.c: * gst/rtp/gstrtpL16pay.c: * gst/rtp/gstrtpamrdepay.c: * gst/rtp/gstrtpamrpay.c: * gst/rtp/gstrtpdepay.c: * gst/rtp/gstrtpgsmpay.c: * gst/rtp/gstrtph263pay.c: * gst/rtp/gstrtph263pdepay.c: * gst/rtp/gstrtph263ppay.c: * gst/rtp/gstrtpilbcdepay.c: * gst/rtp/gstrtpmp4gpay.c: * gst/rtp/gstrtpmp4vdepay.c: * gst/rtp/gstrtpmp4vpay.c: * gst/rtp/gstrtpmpadepay.c: * gst/rtp/gstrtpmpapay.c: * gst/rtp/gstrtppcmadepay.c: * gst/rtp/gstrtppcmapay.c: * gst/rtp/gstrtppcmudepay.c: * gst/rtp/gstrtppcmupay.c: * gst/rtp/gstrtpspeexdepay.c: * gst/rtp/gstrtpspeexpay.c: * gst/rtsp/gstrtpdec.c: * gst/rtsp/gstrtspsrc.c: * gst/smpte/gstsmpte.c: * gst/udp/gstdynudpsink.c: * gst/udp/gstmultiudpsink.c: * gst/udp/gstudpsink.c: * gst/udp/gstudpsrc.c: * gst/videobox/gstvideobox.c: * gst/videofilter/gstgamma.c: (gst_gamma_base_init): * gst/videofilter/gstvideobalance.c: * gst/videofilter/gstvideoflip.c: * gst/videofilter/gstvideotemplate.c: (gst_videotemplate_base_init): * gst/videomixer/videomixer.c: * gst/wavparse/gstwavparse.c: (gst_wavparse_base_init), (gst_wavparse_class_init), (gst_wavparse_dispose), (gst_wavparse_reset), (gst_wavparse_init), (gst_wavparse_perform_seek), (gst_wavparse_peek_chunk_info), (gst_wavparse_peek_chunk), (gst_wavparse_stream_headers), (gst_wavparse_parse_stream_init), (gst_wavparse_send_event), (gst_wavparse_add_src_pad), (gst_wavparse_stream_data), (gst_wavparse_chain), (gst_wavparse_srcpad_event), (gst_wavparse_sink_activate), (gst_wavparse_sink_activate_pull), (gst_wavparse_change_state): * gst/wavparse/gstwavparse.h: * sys/oss/gstossmixerelement.c: * sys/oss/gstosssink.c: * sys/oss/gstosssrc.c: * sys/osxaudio/gstosxaudioelement.c: * sys/osxaudio/gstosxaudiosink.c: * sys/osxaudio/gstosxaudiosrc.c: * sys/sunaudio/gstsunaudiomixer.c: * sys/sunaudio/gstsunaudiosink.c: Define GstElementDetails as const and also static (when defined as global)
* gst/avi/gstavidemux.c: When splitting audio chunks, the block alignment is ↵Fabrizio Gennari2006-04-211-1/+8
| | | | | | | | | | | | not taken in consideration, so the smaller... Original commit message from CVS: Patch by: Fabrizio Gennari <fabrizio dot ge at tiscali dot it> * gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream), (gst_avi_demux_parse_index), (gst_avi_demux_massage_index): When splitting audio chunks, the block alignment is not taken in consideration, so the smaller chunks could be of size which is not a multiple of the block alignment. Fixes #336904
* gst/avi/gstavidemux.c: Fix index creation when we have to scan the file to ↵Fabrizio Gennari2006-04-201-60/+56
| | | | | | | | | | | | | create an index. There may be other types ... Original commit message from CVS: Patch by: Fabrizio Gennari <fabrizio dot ge at tiscali dot it> * gst/avi/gstavidemux.c: (gst_avi_demux_peek_tag), (gst_avi_demux_next_data_buffer), (gst_avi_demux_stream_scan): Fix index creation when we have to scan the file to create an index. There may be other types of RIFF 'LIST' chunks than 'movi' and we need to skip them properly as well or we'll end up reading garbage (#336889). Some other cosmetic changes.
* gst/avi/gstavidemux.c: Fix some crashers with empty chunks. (Fixes #337749)Ryan Lortie (desrt)2006-04-101-22/+29
| | | | | | | | | Original commit message from CVS: Patch by: Ryan Lortie (desrt) <desrt at destr dot ca> * gst/avi/gstavidemux.c: (gst_avi_demux_parse_superindex), (gst_avi_demux_parse_stream), (gst_avi_demux_parse_index), (gst_avi_demux_stream_header): Fix some crashers with empty chunks. (Fixes #337749)
* gst/avi/gstavidemux.c: Don't unref the GstPadTemplate returned by ↵Edward Hervey2006-04-071-1/+0
| | | | | | | | | gst_element_class_get_pad_template(). Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream): Don't unref the GstPadTemplate returned by gst_element_class_get_pad_template().
* gst/avi/gstavidemux.c: this patch combines the global init_frames with the ↵Wim Taymans2006-03-241-30/+38
| | | | | | | | | | | | | stream init_frames. Rationale being that t... Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_parse_index), (gst_avi_demux_stream_index), (gst_avi_demux_stream_scan), (gst_avi_demux_massage_index), (gst_avi_demux_handle_seek): this patch combines the global init_frames with the stream init_frames. Rationale being that the global delay should be subtracted from any stream delay. Fixes #335858.
* Fix memleak with gst_static_pad_template_get().Edward Hervey2006-03-151-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * ext/cairo/gsttextoverlay.c: (gst_text_overlay_init): * ext/dv/gstdvdemux.c: (gst_dvdemux_init), (gst_dvdemux_add_pads): * ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_init): * ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_init), (gst_jpeg_dec_setcaps): * ext/jpeg/gstjpegenc.c: (gst_jpegenc_init): * ext/jpeg/gstsmokedec.c: (gst_smokedec_init): * ext/jpeg/gstsmokeenc.c: (gst_smokeenc_init): * ext/libmng/gstmngdec.c: (gst_mngdec_init), (gst_mngdec_src_getcaps): * ext/libpng/gstpngdec.c: (gst_pngdec_init), (gst_pngdec_caps_create_and_set): * ext/libpng/gstpngenc.c: (gst_pngenc_init): * ext/mikmod/gstmikmod.c: (gst_mikmod_init): * ext/speex/gstspeexdec.c: (gst_speex_dec_init): * gst/alpha/gstalpha.c: (gst_alpha_init): * gst/auparse/gstauparse.c: (gst_au_parse_init): * gst/avi/gstavidemux.c: (gst_avi_demux_init), (gst_avi_demux_handle_src_event), (gst_avi_demux_parse_stream): * gst/cutter/gstcutter.c: (gst_cutter_init): * gst/debug/efence.c: (gst_efence_init), (gst_efence_getrange), (gst_efence_checkgetrange): * gst/debug/negotiation.c: (gst_negotiation_init): * gst/flx/gstflxdec.c: (gst_flxdec_init): * gst/goom/gstgoom.c: (gst_goom_init): * gst/rtp/gstasteriskh263.c: (gst_asteriskh263_init): * gst/rtp/gstrtpL16depay.c: (gst_rtp_L16depay_init): * gst/rtp/gstrtpL16pay.c: (gst_rtpL16pay_init): * gst/rtp/gstrtpamrdepay.c: (gst_rtp_amr_depay_init): * gst/rtp/gstrtpdepay.c: (gst_rtp_depay_init): * gst/rtp/gstrtpmpadepay.c: (gst_rtp_mpa_depay_init): * gst/rtsp/gstrtpdec.c: (gst_rtpdec_init): * gst/smpte/gstsmpte.c: (gst_smpte_init): * gst/wavparse/gstwavparse.c: (gst_wavparse_init), (gst_wavparse_create_sourcepad): Fix memleak with gst_static_pad_template_get(). This uses gst_pad_new_from_static_template() instead. Fixes #333512
* gst/avi/gstavidemux.c: Catch short reads, like they might happen with ↵Tim-Philipp Müller2006-03-141-22/+30
| | | | | | | | | truncated files (see #305279); remove unnecessa... Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry): Catch short reads, like they might happen with truncated files (see #305279); remove unnecessary indentation.
* gst/avi/gstavidemux.c: Fix DIB image inversion for pictures with a depth != ↵Tim-Philipp Müller2006-03-141-6/+16
| | | | | | | | | 8 (#305279). Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_invert): Fix DIB image inversion for pictures with a depth != 8 (#305279).
* gst/avi/gstavidemux.*: If we have an index, use a duration based on the ↵Tim-Philipp Müller2006-03-031-8/+46
| | | | | | | | | | | | | | index instead of blindly trusting the informa... Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query), (gst_avi_demux_handle_src_event), (gst_avi_demux_parse_stream), (gst_avi_demux_calculate_durations_from_index), (gst_avi_demux_stream_header): * gst/avi/gstavidemux.h: If we have an index, use a duration based on the index instead of blindly trusting the information in the stream headers (fixes #331817).
* gst/avi/gstavidemux.c: Use scaling code for added precission and more ↵Wim Taymans2006-02-191-134/+219
| | | | | | | | | | | | | | correct stop position in case scale==0. Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_src_convert), (gst_avi_demux_handle_src_query), (gst_avi_demux_handle_src_event), (gst_avi_demux_parse_file_header), (gst_avi_demux_stream_init), (gst_avi_demux_parse_avih), (gst_avi_demux_parse_superindex), (gst_avi_demux_parse_subindex), (gst_avi_demux_parse_stream), (gst_avi_demux_stream_header), (gst_avi_demux_change_state): Use scaling code for added precission and more correct stop position in case scale==0.