Commit graph

384 commits

Author SHA1 Message Date
Thijs Vermeir
8057839bdd gst/avi/gstavidemux.c: Fix typo in comment
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Fix typo in comment
2008-06-04 18:08:35 +00:00
Thijs Vermeir
b950285ac7 gst/avi/gstavidemux.c: Because we don't know the frame order we need to push till the next keyframe
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Because we don't know the frame order we need to push till
the next keyframe
2008-06-04 18:03:24 +00:00
Thijs Vermeir
f1c5dc21b4 gst/avi/gstavidemux.c: Set EOS when going out of the segment in reverse playback
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Set EOS when going out of the segment in reverse playback
2008-06-04 16:49:26 +00:00
Thijs Vermeir
2c6e50598e gst/avi/gstavidemux.*: Implement reverse playback. Fixes #535300.
Original commit message from CVS:
Patch by: Thijs Vermeir <thijsvermeir at gmail dot com>
* gst/avi/gstavidemux.c: (gst_avi_demux_index_next),
(gst_avi_demux_index_prev), (gst_avi_demux_index_entry_for_time),
(gst_avi_demux_do_seek), (gst_avi_demux_handle_seek),
(gst_avi_demux_process_next_entry):
* gst/avi/gstavidemux.h:
Implement reverse playback. Fixes #535300.
Small cleanups.
2008-06-02 16:10:00 +00:00
Wim Taymans
bd8c40c014 gst/avi/gstavidemux.c: Fix typo in comments.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_combine_flows):
Fix typo in comments.
* tests/examples/rtp/client-H263p-PCMA.sdp:
* tests/examples/rtp/client-H263p-PCMA.sh:
* tests/examples/rtp/client-H264-PCMA.sdp:
* tests/examples/rtp/client-H264-PCMA.sh:
* tests/examples/rtp/client-H264.sdp:
* tests/examples/rtp/client-H264.sh:
* tests/examples/rtp/client-PCMA.sdp:
* tests/examples/rtp/client-PCMA.sh:
* tests/examples/rtp/server-alsasrc-PCMA.sh:
* tests/examples/rtp/server-v4l2-H263p-alsasrc-AMR.sh:
* tests/examples/rtp/server-v4l2-H264-alsasrc-PCMA.sh:
Add some more docs and fix examples.
2008-04-25 07:56:12 +00:00
Stefan Kost
fbb779216c gst/avi/gstavidemux.c: Erm, the buffer-size is just guint, no need for the special format specifier.
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Erm, the buffer-size is just guint, no need for the special format
specifier.
2008-03-16 15:01:07 +00:00
Stefan Kost
e0ac7c51f3 gst/avi/gstavidemux.c: Fix up my last commit. Use G_GUINT32_FORMAT for the guint32 debug log.
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Fix up my last commit. Use G_GUINT32_FORMAT for the guint32 debug log.
Also downgrade a GST_WARNING to GST_DEBUG and add a comment.
2008-03-16 14:04:16 +00:00
Stefan Kost
ae0eb4e7ce gst/avi/gstavidemux.c: Chunksize is uint32. Fix format specifier.
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Chunksize is uint32. Fix format specifier.
2008-03-15 22:10:38 +00:00
Jan Schmidt
8aaddaee2b gst/avi/gstavidemux.c: Revert patch which sends timestamps only on keyframes, as it breaks playback with current gst-...
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Revert patch which sends timestamps only on keyframes, as it
breaks playback with current gst-ffmpeg.
Fixes: #515562
2008-02-11 21:24:30 +00:00
Edward Hervey
87eb1f391d gst/avi/gstavidemux.c: If there's no entries in the subindex, don't try to do anything stupid, just return.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_subindex):
If there's no entries in the subindex, don't try to do anything stupid,
just return.
2008-02-04 12:07:14 +00:00
Wim Taymans
bc1734ac89 gst/avi/gstavidemux.c: GStreamer timestamps are PTS values while AVI only knows about DTS timestamps. Make sure we on...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry),
(gst_avi_demux_stream_data):
GStreamer timestamps are PTS values while AVI only knows about DTS
timestamps. Make sure we only copy the DTS as the buffer timestamp when
we are dealing with a key frame.
2008-01-29 18:24:28 +00:00
Tim-Philipp Müller
bcdeaa639b Fix 'xyz may be used uninitialized' compiler warnings caused by broken g_assert_not_reached() macro in GLib-2.15.x (i...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_loop):
* gst/wavparse/gstwavparse.c: (gst_wavparse_chain):
* sys/ximage/gstximagesrc.c: (composite_pixel):
Fix 'xyz may be used uninitialized' compiler warnings caused
by broken g_assert_not_reached() macro in GLib-2.15.x (it's
not really nice to abort in any case). Fixes #505745.
2007-12-26 16:03:57 +00:00
Stefan Kost
561bfe0457 gst/: Return the result in _activate_pull(). Don't ref element there.
Original commit message from CVS:
* gst/avi/gstavidemux.c:
* gst/wavparse/gstwavparse.c:
Return the result in _activate_pull(). Don't ref element there.
2007-11-13 06:55:28 +00:00
Stefan Kost
8deb4fbd92 gst/: Drop EOS in _handle_src_event(). Fix the refcount in qtdemux that previous commit messed up.
Original commit message from CVS:
* gst/avi/gstavidemux.c:
* gst/qtdemux/qtdemux.c:
Drop EOS in _handle_src_event(). Fix the refcount in qtdemux that
previous commit messed up.
2007-11-12 17:21:59 +00:00
Stefan Kost
8ae866e5c6 gst/: Sync _handle_src_event() with oggdemux. In avidemux also ref the element when we should, but not when we its no...
Original commit message from CVS:
* gst/avi/gstavidemux.c:
* gst/qtdemux/qtdemux.c:
Sync _handle_src_event() with oggdemux. In avidemux also ref the
element when we should, but not when we its not needed.
2007-11-12 17:06:32 +00:00
Stefan Kost
2d15f70302 gst/avi/gstavidemux.c: Plug a little leak. Little code cleanups.
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Plug a little leak. Little code cleanups.
2007-09-10 06:49:32 +00:00
Stefan Kost
c1b2242e77 gst/avi/gstavidemux.c: Implement seek-query.
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Implement seek-query.
2007-09-03 07:44:34 +00:00
Tim-Philipp Müller
3127a32c1c gst/avi/gstavidemux.*: Parse subtitle text streams instead of erroring out (#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.
2007-05-30 14:38:59 +00:00
Tim-Philipp Müller
f91649edb8 gst/avi/gstavidemux.c: Make _push_event() return TRUE if the event could be 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.
2007-05-30 12:46:32 +00:00
Peter Kjellerstedt
50f88db3ad gst/: Fix some compiler warnings. Fixes #428182.
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.
2007-04-10 10:01:14 +00:00
Julien Moutte
d42fcc86cf gst/avi/gstavidemux.c: Don't leave the offsets defined by upstream element 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.
2007-04-05 11:26:25 +00:00
Stefan Kost
30df72ccb7 gst/avi/: Don't abort on out-of-memory. Use stream-nr as unsigned integer only.
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.
2007-04-04 12:39:41 +00:00
Tim-Philipp Müller
7236a2f8b3 Printf format fixes; also add some missing quotes in translated strings. 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.
2007-03-10 12:30:48 +00:00
Wim Taymans
a98caaeb67 gst/avi/gstavidemux.c: Fix stream position reporting after a seek. Fixes #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.
2007-03-09 15:04:45 +00:00
René Stadler
654ad41f25 gst/avi/gstavidemux.c: Make avidemux accept optional header chunks in any order.
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.
2007-03-08 16:01:42 +00:00
Wim Taymans
83676ebd17 gst/avi/gstavidemux.c: Fix combined flow return. Fixes #412608.
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.
2007-02-28 10:54:55 +00:00
Stefan Kost
5116ff603e gst/avi/gstavidemux.c: Put debug stuff into #ifndef GST_DISABLE_DEBUG #endif
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
2007-02-13 11:57:18 +00:00
Stefan Kost
114afecd8d gst/avi/gstavidemux.*: Save some memory (8%) by repacking the index entry 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.
2007-02-12 15:29:44 +00:00
Tim-Philipp Müller
a10f2478bb gst/avi/gstavidemux.c: Error out properly when pull_range fails while we're 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.
2007-01-22 13:06:43 +00:00
Wim Taymans
5aadb77a1d gst/avi/gstavidemux.c: Fix docs.
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Fix docs.
2007-01-09 12:25:26 +00:00
Stefan Kost
90431d788e gst/avi/gstavidemux.c: remove dead code, tweak debugs statements, add 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
2006-11-24 07:46:54 +00:00
Tim-Philipp Müller
6b16453ab4 gst/avi/gstavidemux.c: Initialise variable to get rid of bogus compiler warning.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_scan):
Initialise variable to get rid of bogus compiler warning.
2006-11-16 15:04:55 +00:00
Wim Taymans
90ef72e564 gst/avi/gstavidemux.c: Disable init_frames delay timestamp adjustment, it 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.
2006-11-14 15:55:32 +00:00
Wim Taymans
92172d85bb gst/avi/gstavidemux.c: Use higher precision scale function.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query):
Use higher precision scale function.
2006-10-31 09:29:36 +00:00
Wim Taymans
c152d13c6a gst/avi/gstavidemux.c: Fix position query for audio. also fixes timestamps 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.
2006-10-28 16:37:20 +00:00
Tim-Philipp Müller
82f5a3508c Printf format fixes.
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.
2006-10-05 16:37:33 +00:00
Wim Taymans
aeec395c22 gst/avi/gstavidemux.c: Don't check for a tag that is never there and check 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.
2006-09-22 17:22:34 +00:00
Stefan Kost
13a332da30 gst/avi/gstavidemux.c: More code reuse and better logging in _peek_chunk(). 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.
2006-09-13 13:26:15 +00:00
Stefan Kost
4b7c760e11 gst/avi/gstavidemux.c: Revert one change to fix streaming avi (adapter size != 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).
2006-09-06 09:05:33 +00:00
Stefan Kost
ff1d81df67 gst/avi/gstavidemux.c: Initialze variables.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_next_data_buffer),
(gst_avi_demux_stream_scan):
Initialze variables.
2006-08-27 13:12:52 +00:00
Wim Taymans
bb82304826 gst/avi/gstavidemux.*: More attempts to turn this into readable code.
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.
2006-08-25 16:21:37 +00:00
Stefan Kost
8ee132e9b4 gst/avi/gstavidemux.c: unbreak AVI index handling, some more debug, remove 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
2006-08-24 13:51:15 +00:00
Wim Taymans
bf6a231fab gst/avi/gstavidemux.*: Some more cleanups.
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.
2006-08-24 11:21:06 +00:00
Stefan Kost
e91b76790c gst/avi/gstavidemux.*: Initial streaming support for avidemux (fixes #336465)
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)
2006-08-23 15:33:47 +00:00
Wim Taymans
2bd16585bc gst/avi/gstavidemux.*: Mark DISCONT.
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.
2006-08-22 17:02:39 +00:00
Wim Taymans
1eff78685b gst/avi/gstavidemux.*: Precalc most of the duration query for each stream.
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.
2006-08-22 16:42:22 +00:00
Stefan Kost
332549280d gst/avi/gstavidemux.*: Whitespace fixes and more debug
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
2006-07-28 08:21:27 +00:00
Stefan Kost
c0514b0209 gst/avi/gstavidemux.c: Moved win32 variant of GST_DEBUG_CATEGORY_EXTERN to 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.
2006-07-25 13:14:05 +00:00
Wim Taymans
c9b86e0a98 gst/avi/gstavidemux.c: Fix some leaks.
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.
2006-07-21 10:57:00 +00:00
Edward Hervey
7c8f0009cc gst/avi/gstavidemux.*: Don't push tag events found by gst_riff_parse_info() 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.
2006-07-10 20:11:34 +00:00
Edward Hervey
663856a514 gst/avi/gstavidemux.*: Proper aggregation of each stream's GstFlowReturn in 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.
2006-07-03 15:28:48 +00:00
Tim-Philipp Müller
a1d0655f73 gst/avi/gstavidemux.c: Prevent out of bounds array access when scrubbing 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.
2006-06-13 09:54:26 +00:00
Sébastien Moutte
c6919694d0 gst/avi/gstavidemux.c: add an explicit dll imported declaration for 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
2006-05-30 21:07:38 +00:00
Wim Taymans
14d26445df gst/avi/gstavidemux.c: Ooops, bitten by the copy-and-paste design paradigm, 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.
2006-05-12 18:10:36 +00:00
Wim Taymans
50d7e0f6bb gst/avi/gstavidemux.*: Some cleanups, prepare to use GstSegment.
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.
2006-05-12 18:04:22 +00:00
Tim-Philipp Müller
b88deddeca Add docs for both avidemux and avimux.
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.
2006-04-27 16:05:54 +00:00
Stefan Kost
27f2c9b255 Define GstElementDetails as const and also static (when defined as global)
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)
2006-04-25 21:39:46 +00:00
Fabrizio Gennari
1ef3722bf6 gst/avi/gstavidemux.c: When splitting audio chunks, the block alignment is 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
2006-04-21 18:07:10 +00:00
Fabrizio Gennari
13ed50b8f2 gst/avi/gstavidemux.c: Fix index creation when we have to scan the file to 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.
2006-04-20 16:33:55 +00:00
Ryan Lortie (desrt)
4bdbbeb426 gst/avi/gstavidemux.c: Fix some crashers with empty chunks. (Fixes #337749)
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)
2006-04-10 10:10:55 +00:00
Edward Hervey
200bb9a5c8 gst/avi/gstavidemux.c: Don't unref the GstPadTemplate returned by 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().
2006-04-07 10:48:19 +00:00
Wim Taymans
aa23e235dc gst/avi/gstavidemux.c: this patch combines the global init_frames with the 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.
2006-03-24 18:56:16 +00:00
Edward Hervey
50f4eb876a Fix memleak with gst_static_pad_template_get().
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
2006-03-15 16:17:12 +00:00
Tim-Philipp Müller
6bad19a588 gst/avi/gstavidemux.c: Catch short reads, like they might happen with 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.
2006-03-14 15:28:00 +00:00
Tim-Philipp Müller
59bc72774d gst/avi/gstavidemux.c: Fix DIB image inversion for pictures with a depth != 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).
2006-03-14 14:18:16 +00:00
Tim-Philipp Müller
320dea6afe gst/avi/gstavidemux.*: If we have an index, use a duration based on the 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).
2006-03-03 17:51:16 +00:00
Wim Taymans
e9d173ccd5 gst/avi/gstavidemux.c: Use scaling code for added precission and more 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.
2006-02-19 16:02:25 +00:00
Wim Taymans
ccfc0d947c gst/avi/gstavidemux.c: Add comment in a fultile attempt to stop the copy-and-paste paradigm leading to duplication of...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_event):
Add comment in a fultile attempt to stop the copy-and-paste
paradigm leading to duplication of bad code.

* gst/rtsp/rtsptransport.c: (rtsp_transport_parse):
Mime parameters have to be checked case insensitive
2006-02-15 10:15:47 +00:00
Edward Hervey
fed4575aef gst/avi/gstavidemux.c: There can be bogus data before the hdrl LIST tag in the RIFF header.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_header):
There can be bogus data before the hdrl LIST tag in the RIFF header.
It's hard to say if it's not respecting the AVI specifications or not,
but since Google Video is producing AVIs like that and the other player
don't seem to complain, I guess we should do the same.
2006-02-14 16:58:30 +00:00
Edward Hervey
d502325ee9 gst/avi/gstavidemux.c: Properly handle end of segment. Closes #330885.
Original commit message from CVS:
Reviewed by: Edward Hervey  <edward@fluendo.com>
* gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry):
Properly handle end of segment. Closes #330885.
2006-02-13 10:43:15 +00:00
Tim-Philipp Müller
3a27956d47 Pass unhandled queries upstream instead of just dropping them (#326446). Update query type arrays here and there.
Original commit message from CVS:
* ext/dv/gstdvdemux.c: (gst_dvdemux_src_query),
(gst_dvdemux_sink_query):
* ext/flac/gstflacdec.c: (gst_flac_dec_src_query):
* ext/speex/gstspeexdec.c: (speex_get_query_types),
(speex_dec_src_query):
* ext/speex/gstspeexenc.c: (gst_speexenc_src_query),
(gst_speexenc_sink_query):
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query):
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_get_src_query_types),
(gst_matroska_demux_handle_src_query):
* gst/wavparse/gstwavparse.c: (gst_wavparse_get_query_types),
(gst_wavparse_pad_query):
Pass unhandled queries upstream instead of just dropping
them (#326446). Update query type arrays here and there.
2006-02-06 12:18:45 +00:00
Tim-Philipp Müller
4b5490014f gst/avi/gstavidemux.*: Third attempt, use gst_pad_is_linked() this time.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_all_source_pads_unlinked),
(gst_avi_demux_process_next_entry):
* gst/avi/gstavidemux.h:
Third attempt, use gst_pad_is_linked() this time.
2006-02-04 15:41:43 +00:00
Tim-Philipp Müller
9a64d2bb3a gst/avi/gstavidemux.c: Only pause if all pads are unlinked AND we've tried to send data on all of them at least once.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_all_source_pads_unlinked):
Only pause if all pads are unlinked AND we've tried to send data
on all of them at least once.
2006-02-02 21:00:16 +00:00
Tim-Philipp Müller
00ed57af01 gst/avi/gstavidemux.c: Make loop function/task pause itself when all source pads are unlinked.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_all_source_pads_unlinked),
(gst_avi_demux_process_next_entry), (gst_avi_demux_loop):
Make loop function/task pause itself when all source pads are
unlinked.
2006-02-02 12:29:24 +00:00
Jens Granseuer
f42029d79f C89 fixes: declare variables at the beginning of a block and
Original commit message from CVS:
* ext/libpng/gstpngenc.c: (gst_pngenc_chain):
* gst/avi/gstavidemux.c: (gst_avi_demux_invert):
* gst/rtp/gstrtpmp4vdepay.c: (gst_rtp_mp4v_depay_setcaps):
* gst/rtsp/sdpmessage.h:
* gst/udp/gstdynudpsink.c: (gst_dynudpsink_render):
* gst/udp/gstmultiudpsink.c: (gst_multiudpsink_get_stats):
C89 fixes: declare variables at the beginning of a block and
make gcc-2.9x happy (#328264; patch by: Jens Granseuer
<jensgr at gmx dot net>).
2006-01-23 09:59:03 +00:00
Edward Hervey
3ffe64515e gst/avi/gstavidemux.c: Stupid signedness issue...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_scan):
Stupid signedness issue...
2005-12-19 15:43:30 +00:00
Edward Hervey
6fd965f953 gst/avi/gstavidemux.c: Construct index for indexless files.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
(gst_avi_demux_handle_src_event), (gst_avi_demux_parse_stream),
(gst_avi_demux_parse_odml), (gst_avi_demux_peek_tag),
(gst_avi_demux_next_data_buffer), (gst_avi_demux_stream_scan),
(gst_avi_demux_stream_header), (gst_avi_demux_loop):
Construct index for indexless files.
Make sure pad/buffers are correctly reset to NULL once we don't need
them anymore, else we get lovely segfaults/assertions.
* gst/wavparse/gstwavparse.c:
Yes, you can have 96KHz audio and wma in wav :(
2005-12-19 15:06:27 +00:00
Edward Hervey
8a2d8148e4 gst/avi/gstavidemux.c: Memleak and crasher fixes.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_event),
(gst_avi_demux_parse_stream), (gst_avi_demux_stream_header),
(gst_avi_demux_invert):
Memleak and crasher fixes.
* gst/wavparse/gstwavparse.c: (gst_wavparse_base_init),
(gst_wavparse_create_sourcepad), (gst_wavparse_stream_headers):
Memleak fixes
2005-12-07 11:40:46 +00:00
Edward Hervey
735b60acf6 gst/avi/gstavidemux.c: Useless check now we're setting the current entry correctly.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry):
Useless check now we're setting the current entry correctly.
2005-11-28 17:31:44 +00:00
Andy Wingo
bdeae7cfcd ext/dv/gstdvdemux.c (gst_dvdemux_handle_sink_event) (gst_dvdemux_demux_frame) ext/flac/gstflacdec.c (gst_flacdec_writ...
Original commit message from CVS:
2005-11-22  Andy Wingo  <wingo@pobox.com>

* ext/dv/gstdvdemux.c (gst_dvdemux_handle_sink_event)
(gst_dvdemux_demux_frame)
* ext/flac/gstflacdec.c (gst_flacdec_write)
* ext/flac/gstflacenc.c (gst_flacenc_seek_callback)
(gst_flacenc_sink_event)
* ext/gconf/gstgconfaudiosink.c (gst_gconf_audio_sink_init)
* ext/gconf/gstgconfvideosink.c (gst_gconf_video_sink_init)
* ext/libpng/gstpngdec.c (gst_pngdec_caps_create_and_set)
* ext/speex/gstspeexdec.c (speex_dec_event, speex_dec_chain)
* gst/auparse/gstauparse.c (gst_auparse_chain)
* gst/autodetect/gstautoaudiosink.c (gst_auto_audio_sink_init)
* gst/autodetect/gstautovideosink.c (gst_auto_video_sink_init)
* gst/avi/gstavidemux.c (gst_avi_demux_stream_header)
(gst_avi_demux_handle_seek)
* gst/goom/gstgoom.c (gst_goom_event)
* gst/matroska/ebml-write.c (gst_ebml_write_seek)
* gst/matroska/matroska-demux.c
(gst_matroska_demux_handle_seek_event)
(gst_matroska_demux_loop_stream_parse_id)
* gst/wavenc/gstwavenc.c (gst_wavenc_stop_file)
* gst/wavparse/gstwavparse.c (gst_wavparse_handle_seek)
(gst_wavparse_stream_headers): Run update-funcnames.
2005-11-22 11:53:34 +00:00
Tim-Philipp Müller
3cbd39e022 Update for stream lock API changes: don't take stream log in sink event handlers any longer and change GST_STREAM_LOC...
Original commit message from CVS:
* ext/dv/gstdvdemux.c: (gst_dvdemux_handle_sink_event):
* ext/flac/gstflacdec.c: (gst_flacdec_loop),
(gst_flacdec_src_event):
* ext/flac/gstflacenc.c: (gst_flacenc_sink_event):
* ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_event),
(gst_signal_processor_getrange), (gst_signal_processor_chain):
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_seek):
* gst/flx/gstflxdec.c: (gst_flxdec_src_event_handler),
(gst_flxdec_sink_event_handler):
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_handle_seek_event):
* gst/wavparse/gstwavparse.c: (gst_wavparse_handle_seek):
Update for stream lock API changes: don't take stream log
in sink event handlers any longer and change GST_STREAM_LOCK
to GST_PAD_STREAM_LOCK. Don't leak references in flxdec event
functions.
2005-11-21 18:09:02 +00:00
Tim-Philipp Müller
c36b3310f3 Fixes for GST_FOURCC_FORMAT API change.
Original commit message from CVS:
* ext/aalib/gstaasink.c: (gst_aasink_setcaps):
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_file_header),
(gst_avi_demux_read_subindexes), (gst_avi_demux_parse_stream),
(gst_avi_demux_parse_odml), (gst_avi_demux_stream_index),
(gst_avi_demux_sync), (gst_avi_demux_stream_header),
(gst_avi_demux_stream_data):
* gst/matroska/matroska-demux.c: (gst_matroska_demux_video_caps):
* gst/wavenc/gstwavenc.c: (write_metadata):
* gst/wavparse/gstwavparse.c: (gst_wavparse_parse_adtl),
(gst_wavparse_parse_file_header), (gst_wavparse_stream_headers):
Fixes for GST_FOURCC_FORMAT API change.
2005-11-21 13:38:24 +00:00
Tim-Philipp Müller
12aed9b96e gst/avi/gstavidemux.c: Invert DIB images again (see #132341).
Original commit message from CVS:
* gst/avi/gstavidemux.c: (swap_line), (gst_avi_demux_invert),
(gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data):
Invert DIB images again (see #132341).
2005-11-15 12:16:00 +00:00
Edward Hervey
ad2f2ea24b gst/avi/gstavidemux.*: Yeah, implement proper seeking. Exact seeking and segment seeking.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
(gst_avi_demux_src_convert), (gst_avi_demux_handle_src_event),
(gst_avi_demux_stream_header), (gst_avi_demux_handle_seek),
(gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data),
(gst_avi_demux_loop):
* gst/avi/gstavidemux.h:
Yeah, implement proper seeking. Exact seeking and segment seeking.
Still need to do some checks for segment_stop.
2005-11-11 16:48:58 +00:00
Tim-Philipp Müller
fb1c3904f7 gst/avi/gstavidemux.c: No need to take the STREAM_LOCK in the loop function. Improve some debug messages. Don't leak ...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data),
(gst_avi_demux_loop):
No need to take the STREAM_LOCK in the loop function. Improve
some debug messages. Don't leak pad names in debug messages.
2005-11-07 10:31:32 +00:00
Wim Taymans
bee54790e7 Set correct stream_time in newsegment event. avi can also handle a duration query now.
Original commit message from CVS:
* ext/dv/gstdvdemux.c: (gst_dvdemux_demux_frame):
* gst/avi/gstavidemux.c: (gst_avi_demux_get_src_query_types),
(gst_avi_demux_handle_seek):
Set correct stream_time in newsegment event.
avi can also handle a duration query now.
2005-10-21 16:15:57 +00:00
Wim Taymans
9f4609665a gst/avi/gstavidemux.c: Correctly fill in the stream time.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_seek):
Correctly fill in the stream time.
2005-10-20 11:39:40 +00:00
Wim Taymans
ba7ee6ae6c API change fix.
Original commit message from CVS:
* ext/dv/gstdvdemux.c: (gst_dvdemux_get_src_query_types),
(gst_dvdemux_src_query):
* ext/flac/gstflacdec.c: (gst_flacdec_length),
(gst_flacdec_src_query):
* ext/raw1394/gstdv1394src.c: (gst_dv1394src_query):
* ext/speex/gstspeexdec.c: (speex_dec_src_query):
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query):
* gst/debug/gstnavseek.c: (gst_navseek_seek):
* gst/debug/progressreport.c: (gst_progress_report_report):
* gst/matroska/ebml-read.c: (gst_ebml_read_get_length):
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_handle_src_query):
* gst/matroska/matroska-mux.c: (gst_matroska_mux_start):
* gst/wavparse/gstwavparse.c: (gst_wavparse_handle_seek),
(gst_wavparse_stream_headers), (gst_wavparse_stream_data),
(gst_wavparse_pad_convert), (gst_wavparse_pad_query),
(gst_wavparse_srcpad_event):
API change fix.
2005-10-19 15:57:04 +00:00
Wim Taymans
3a6dd6c30c newsegment API update.
Original commit message from CVS:
* ext/dv/gstdvdemux.c: (gst_dvdemux_handle_sink_event),
(gst_dvdemux_demux_frame):
* ext/flac/gstflacdec.c: (gst_flacdec_write):
* gst/auparse/gstauparse.c: (gst_auparse_chain):
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_header),
(gst_avi_demux_handle_seek):
* gst/goom/gstgoom.c: (gst_goom_event):
* gst/wavenc/gstwavenc.c: (gst_wavenc_stop_file):
* gst/wavparse/gstwavparse.c: (gst_wavparse_handle_seek),
(gst_wavparse_stream_headers), (gst_wavparse_stream_data),
(gst_wavparse_loop), (gst_wavparse_pad_convert),
(gst_wavparse_srcpad_event):
newsegment API update.
2005-10-11 16:33:08 +00:00
Tim-Philipp Müller
41af36aa2f gst/avi/gstavidemux.c: Don't crash when encountering a stream with an unknown fourcc or codec id. Instead, create a p...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_base_init),
(gst_avi_demux_class_init), (gst_avi_demux_parse_stream),
(gst_avi_demux_change_state):
Don't crash when encountering a stream with an unknown fourcc or
codec id. Instead, create a pad of type video/x-avi-unknown or
audio/x-avi-unknown, which as a side-effect also results in less
confusing error messages in players ('no decoder' vs. 'no streams');
minor fixes to state change function and class_init function.
2005-09-26 13:06:27 +00:00
Andy Wingo
7ebd7b97d4 All plugins updated for element state changes.
Original commit message from CVS:
2005-09-02  Andy Wingo  <wingo@pobox.com>

* All plugins updated for element state changes.
2005-09-02 15:44:50 +00:00
Ronald S. Bultje
51a630d417 gst/: Uncomment metadata and codec-name handling.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_stream_header):
* gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state),
(gst_qtdemux_add_stream), (qtdemux_parse_tree):
Uncomment metadata and codec-name handling.
2005-08-16 16:30:23 +00:00
Tim-Philipp Müller
f6d8dee68d gst/avi/gstavidemux.c: Fix AVI header parsing: add missing break statement after
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_header):
Fix AVI header parsing: add missing break statement after
GST_RIFF_INFO_LIST parsing code; gst_riff_read_chunk() has
already advanced the avi->offset, no need to do it twice
(fixes MovieOfMovies.avi).
2005-08-09 14:40:02 +00:00
Ronald S. Bultje
139e82bd8b gst/avi/gstavidemux.c: Fix seeking (or, well, fix threading issue where a variable was set before a lock was taken an...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_event),
(gst_avi_demux_handle_seek):
Fix seeking (or, well, fix threading issue where a variable was
set before a lock was taken and was already unset before that
same lock was taken and was thus no longer in existance when it
actually had to be used).
2005-08-09 12:33:21 +00:00
Ronald S. Bultje
0d1f52616a gst/avi/gstavidemux.c: Mixing binary and logical operators is not going to work; fix position-querying in Totem.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry):
Mixing binary and logical operators is not going to work; fix
position-querying in Totem.
2005-08-09 12:22:12 +00:00
Edward Hervey
6af187c535 gst/avi/gstavidemux.c: You need to allocatate (len+1) characters to store a len size string.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
(gst_avi_demux_parse_stream), (gst_avi_demux_process_next_entry):
You need to allocatate (len+1) characters to store a len size string.
Also don't stop the processing task if the output pad is not linked.
2005-08-04 18:31:12 +00:00
Wim Taymans
c50893f784 Various event updates and cleanups.
Original commit message from CVS:
* ext/amrnb/amrnbparse.c: (gst_amrnbparse_event),
(gst_amrnbparse_loop):
* ext/dv/gstdvdec.c: (gst_dvdec_handle_sink_event),
(gst_dvdec_handle_src_event), (gst_dvdec_decode_frame):
* ext/mad/gstid3tag.c: (gst_id3_tag_src_event),
(gst_id3_tag_sink_event), (gst_id3_tag_chain):
* ext/mad/gstmad.c: (gst_mad_src_query), (index_seek),
(normal_seek), (gst_mad_sink_event), (gst_mad_chain):
* ext/mpeg2dec/gstmpeg2dec.c:
* ext/shout2/gstshout2.c: (gst_shout2send_event):
* ext/sidplay/gstsiddec.cc:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_event),
(gst_avi_demux_send_event), (gst_avi_demux_stream_header),
(gst_avi_demux_handle_seek), (gst_avi_demux_process_next_entry):
* gst/goom/gstgoom.c: (gst_goom_event):
* gst/realmedia/rmdemux.c: (gst_rmdemux_sink_event),
(gst_rmdemux_chain), (gst_rmdemux_send_event),
(gst_rmdemux_add_stream):
* gst/wavparse/gstwavparse.c: (gst_wavparse_handle_seek),
(gst_wavparse_stream_headers), (gst_wavparse_stream_data),
(gst_wavparse_loop), (gst_wavparse_srcpad_event):
Various event updates and cleanups.
2005-07-27 18:37:25 +00:00
Wim Taymans
f6f3418b19 ext/mad/gstmad.c: Add convert function for proper timestamp calculations.
Original commit message from CVS:
* ext/mad/gstmad.c: (gst_mad_src_query), (gst_mad_sink_event),
(gst_mad_chain):
Add convert function for proper timestamp calculations.

* gst/avi/gstavidemux.c: (gst_avi_demux_send_event),
(gst_avi_demux_stream_header), (gst_avi_demux_handle_seek),
(gst_avi_demux_process_next_entry), (gst_avi_demux_loop):
Send out initial discont.
2005-07-16 16:43:53 +00:00
Wim Taymans
2d3657a1ba gst/base/gstbasesrc.c: Allow subclasses to implement their own negotiation.
Original commit message from CVS:
* gst/base/gstbasesrc.c: (gst_base_src_get_range),
(gst_base_src_default_negotiate), (gst_base_src_negotiate):
Allow subclasses to implement their own negotiation.
2005-07-07 08:21:41 +00:00
Jan Schmidt
53b2e78562 Replace GST_PLUGINS_LIBS_* with GST_PLUGINS_BASE_*
Original commit message from CVS:
2005-07-01  Jan Schmidt  <thaytan@mad.scientist.com>
* ext/libcaca/Makefile.am:
* ext/mad/Makefile.am:
* gst/effectv/Makefile.am:
* gst/udp/Makefile.am:
Replace GST_PLUGINS_LIBS_* with GST_PLUGINS_BASE_*

* ext/mad/gstid3tag.c: (gst_id3_tag_src_query),
(gst_id3_tag_src_event), (gst_id3_tag_sink_event),
(gst_id3_tag_chain), (plugin_init):
* ext/mad/gstmad.c: (gst_mad_src_query), (gst_mad_chain):
Signedness warning fix, use gst_pad_get_peer instead of GST_PAD_PEER
in querying and event handling, because we're not holding the pad
lock and the peer may disappear.
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_subindex),
(gst_avi_demux_parse_index), (gst_avi_demux_massage_index):
Signedness warning fixes.

* gst/videofilter/gstvideotemplate.c: (plugin_init):
Remove gst_library_load
2005-07-01 08:10:56 +00:00
Ronald S. Bultje
db20692b12 gst/avi/gstavidemux.c: Compiler pains.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query):
Compiler pains.
2005-06-30 14:28:14 +00:00
Ronald S. Bultje
aa254e4374 gst/avi/: Port from -THREADED to HEAD, and fix for latest API changes of the day. Keep avimux dead for now.
Original commit message from CVS:
* gst/avi/Makefile.am:
* gst/avi/gstavi.c: (plugin_init):
* gst/avi/gstavidemux.c: (gst_avi_demux_get_type),
(gst_avi_demux_class_init), (gst_avi_demux_init),
(gst_avi_demux_reset), (gst_avi_demux_index_next),
(gst_avi_demux_index_entry_for_time),
(gst_avi_demux_index_entry_for_byte),
(gst_avi_demux_index_entry_for_frame), (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_read_subindexes),
(gst_avi_demux_parse_stream), (gst_avi_demux_parse_odml),
(gst_avi_demux_parse_index), (gst_avi_demux_stream_index),
(gst_avi_demux_stream_scan), (gst_avi_demux_massage_index),
(gst_avi_demux_stream_header), (gst_avi_demux_handle_seek),
(gst_avi_demux_process_next_entry), (gst_avi_demux_stream_data),
(gst_avi_demux_loop), (gst_avi_demux_sink_activate),
(gst_avi_demux_sink_activate_pull):
* gst/avi/gstavidemux.h:
Port from -THREADED to HEAD, and fix for latest API changes of
the day. Keep avimux dead for now.
2005-06-30 09:00:36 +00:00
Gergely Nagy
ae541a6e16 gst/avi/gstavidemux.c: Declare variables at beginning of block and make gcc-2.95 happy
Original commit message from CVS:

* gst/avi/gstavidemux.c: (gst_avi_demux_invert):
Declare variables at beginning of block and make gcc-2.95 happy
(fixes # 167482, patch by Gergely Nagy).

* gst/tcp/gsttcpclientsrc.c:
* gst/tcp/gsttcpclientsrc.h:
Move some includes into the header, so that struct sockaddr_in is
defined when it should be defined on FreeBSD as well (fixes
#167483).

* gst/tcp/gsttcpserversrc.c: (gst_tcpserversrc_init_receive):
Don't pass uninitialised values to setsockopt() here either.
2005-02-17 19:21:42 +00:00
Ronald S. Bultje
aa4bcc482b gst/avi/gstavidemux.*: Invert DIB images. Fixes #132341.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_add_stream), (swap_line),
(gst_avi_demux_invert), (gst_avi_demux_process_next_entry),
(gst_avi_demux_stream_data):
* gst/avi/gstavidemux.h:
Invert DIB images. Fixes #132341.
2005-01-29 15:47:18 +00:00
Ronald S. Bultje
413da5f277 Allow seeks on audio pad, make mad forward those (#164826).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* ext/mad/gstmad.c: (gst_mad_src_event):
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_event):
Allow seeks on audio pad, make mad forward those (#164826).
* gst/audioscale/gstaudioscale.c: (gst_audioscale_chain):
Set duration (#165335).
2005-01-27 10:14:22 +00:00
Thomas Vander Stichele
d78e43f5c5 debugging
Original commit message from CVS:
debugging
2005-01-13 17:11:08 +00:00
Ronald S. Bultje
5024a7c5b6 gst-libs/gst/riff/riff-read.c: Don't bail on unknown events.
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_use_event):
Don't bail on unknown events.
* gst/audioscale/gstaudioscale.c: (gst_audioscale_chain):
Don't crash on events before negotiation.
* gst/avi/gstavidemux.c: (gst_avi_demux_add_stream):
Send tags on pads, too.
* gst/playback/gststreamselector.c:
(gst_stream_selector_request_new_pad):
Forward events on first pad if no input was selected yet.
2005-01-10 16:09:25 +00:00
Ronald S. Bultje
889e28ef62 gst/avi/gstavidemux.c: Add some more debug. Fix logic error when setting movi offset while reading index.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
(gst_avi_demux_stream_scan):
Add some more debug. Fix logic error when setting movi offset
while reading index.
2004-12-23 11:44:03 +00:00
Ronald S. Bultje
f0def31bea gst/avi/gstavidemux.c: Add some debugging. Better detection of broken indexes and the accompanying index recovery. No...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
(gst_avi_demux_stream_scan), (gst_avi_demux_handle_seek),
(gst_avi_demux_process_next_entry):
Add some debugging. Better detection of broken indexes and the
accompanying index recovery. No infinite loops on state changes
when we're still in our loopfunction.
2004-12-23 10:53:27 +00:00
Ronald S. Bultje
a4bf155817 gst/avi/gstavidemux.c: Work for truncated (unfinished download etc.) files. Fixes #160514.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index):
Work for truncated (unfinished download etc.) files. Fixes #160514.
2004-12-18 19:36:59 +00:00
Ronald S. Bultje
fd2b4713a6 ext/a52dec/gsta52dec.*: Do something useful with timestamps. Make chain-based (since there's really no reason to be l...
Original commit message from CVS:
* ext/a52dec/gsta52dec.c: (gst_a52dec_init),
(gst_a52dec_handle_event), (gst_a52dec_update_streaminfo),
(gst_a52dec_handle_frame), (gst_a52dec_chain),
(gst_a52dec_change_state), (plugin_init):
* ext/a52dec/gsta52dec.h:
Do something useful with timestamps. Make chain-based (since
there's really no reason to be loopbased).
* gst/avi/gstavidemux.c: (gst_avi_demux_process_next_entry):
Update current_byte/frame correctly.
2004-12-06 10:28:13 +00:00
Ronald S. Bultje
9506620fe2 gst/avi/gstavidemux.c: Fix quite humiliating bug in omitting 0-sized index chunks but forgetting to count them for ti...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
(gst_avi_demux_massage_index):
Fix quite humiliating bug in omitting 0-sized index chunks but
forgetting to count them for timestamps.
2004-11-29 12:41:03 +00:00
Ronald S. Bultje
f7ea1932ed ext/gnomevfs/gstgnomevfssrc.c: Some debug.
Original commit message from CVS:
* ext/gnomevfs/gstgnomevfssrc.c: (gst_gnomevfssrc_get),
(gst_gnomevfssrc_srcpad_query), (gst_gnomevfssrc_srcpad_event):
Some debug.
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
(gst_avi_demux_handle_src_event), (gst_avi_demux_read_superindex),
(gst_avi_demux_read_subindexes), (gst_avi_demux_add_stream),
(gst_avi_demux_stream_index), (gst_avi_demux_skip),
(gst_avi_demux_sync), (gst_avi_demux_stream_scan),
(gst_avi_demux_massage_index), (gst_avi_demux_stream_header):
* gst/avi/gstavidemux.h:
Support for openDML-2.0 indx/ix## chunks. Support for broken index
recovery (where, if part of the index is broken, we will still read
the rest of the index and recover the broken part by stream
scanning). More broken media support. EOS workarounds. General AVI
braindamage headache recovery. Aspirin included.
2004-10-12 12:29:45 +00:00
Ronald S. Bultje
59e9ed33fe gst/avi/gstavidemux.c: OK, so the original code was too strict. It makes random AVI files hang for seconds upon openi...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_massage_index):
OK, so the original code was too strict. It makes random AVI files
hang for seconds upon opening, which is unacceptable and is far
beyond the original goal of getting multiple chunks for one-chunk
sounc stream files. So now do just that.
2004-10-09 19:33:21 +00:00
Ronald S. Bultje
5dab8b214f gst/avi/gstavidemux.c: Prevent overwrite of size member. Makes audio sound crappy.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_massage_index):
Prevent overwrite of size member. Makes audio sound crappy.
2004-10-05 15:28:08 +00:00
Ronald S. Bultje
9712010d44 gst/avi/gstavidemux.c: There was something wrong with the index massaging.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_massage_index):
There was something wrong with the index massaging.
2004-10-04 17:29:27 +00:00
Ronald S. Bultje
d2ba80e45e gst/avi/gstavidemux.c: Fix seeking in some files. All this code is no longer needed (and actually breaks stuff) becau...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_event):
Fix seeking in some files. All this code is no longer needed (and
actually breaks stuff) because we now synchronize the full index
right when reading the header.
2004-10-04 16:48:26 +00:00
Ronald S. Bultje
3f20d7f4b8 gst/avi/gstavidemux.c: Improve allocation, cutting and sorting of the index. How takes a few seconds instead of minutes.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
(gst_avi_demux_stream_scan), (sort), (gst_avi_demux_massage_index),
(gst_avi_demux_stream_header), (gst_avi_demux_stream_data):
Improve allocation, cutting and sorting of the index. How takes a
few seconds instead of minutes.
2004-10-04 13:32:20 +00:00
Ronald S. Bultje
993092788c gst-libs/gst/riff/riff-media.c: Add wing commander format mimetype/fourccs.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_video_template_caps):
Add wing commander format mimetype/fourccs.
* gst/avi/gstavidemux.c: (gst_avi_demux_massage_index):
Don't crash if some value is 0.
2004-10-02 20:27:04 +00:00
Ronald S. Bultje
89e2912bad gst-libs/gst/riff/riff-media.c: Add DIB fourcc (raw, palettized 8-bit RGB).
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_video_template_caps):
Add DIB fourcc (raw, palettized 8-bit RGB).
* gst-libs/gst/riff/riff-read.c:
(gst_riff_read_strf_vids_with_data):
Oops, fix strf_data reading bug.
* gst/avi/gstavidemux.c: (gst_avi_demux_add_stream):
Use a non-NULL tag.
* gst/qtdemux/qtdemux.c: (qtdemux_parse_trak):
Time for hacks. Sorry Dave. At least one quicktime movie (a
trailer) that I've encountered contains multiple video tracks.
One of those is the actual video track, the other are one-frame
tracks (images). Unfortunately, the number of frames according
to the trak header is 1 for each, so that doesn't help. So
instead, I look at the duration and discard tracks with a
duration shorter than 20% of the length of the stream. Better
than nothing.
2004-10-02 14:10:19 +00:00
Ronald S. Bultje
ea118a8d64 ext/flac/gstflacdec.c: Only return true if we actually filled something in. Prevents player applications from showing...
Original commit message from CVS:
* ext/flac/gstflacdec.c: (gst_flacdec_src_query):
Only return true if we actually filled something in. Prevents
player applications from showing a random length for flac files.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_class_init),
(gst_riff_read_use_event), (gst_riff_read_handle_event),
(gst_riff_read_seek), (gst_riff_read_skip), (gst_riff_read_strh),
(gst_riff_read_strf_vids_with_data),
(gst_riff_read_strf_auds_with_data), (gst_riff_read_strf_iavs):
OK, ok, so I implemented event handling. Apparently it's normal
that we receive random events at random points without asking
for it.
* gst/avi/gstavidemux.c: (gst_avi_demux_reset),
(gst_avi_demux_src_convert), (gst_avi_demux_handle_src_query),
(gst_avi_demux_handle_src_event), (gst_avi_demux_stream_index),
(gst_avi_demux_sync), (gst_avi_demux_stream_scan),
(gst_avi_demux_massage_index), (gst_avi_demux_stream_header),
(gst_avi_demux_handle_seek), (gst_avi_demux_process_next_entry),
(gst_avi_demux_stream_data), (gst_avi_demux_loop):
* gst/avi/gstavidemux.h:
Implement non-lineair chunk handling and subchunk processing.
The first solves playback of AVI files where the audio and video
data of individual buffers that we read are not synchronized.
This should not happen according to the wonderful AVI specs, but
of course it does happen in reality. It is also a prerequisite for
the second. Subchunk processing allows us to cut chunks in small
pieces and process each of these pieces separately. This is
required because I've seen several AVI files with incredibly large
audio chunks, even some files with only one audio chunk for the
whole file. This allows for proper playback including seeking.
This patch is supposed to fix all AVI A/V sync issues.
* gst/flx/gstflxdec.c: (gst_flxdec_class_init),
(flx_decode_chunks), (flx_decode_color), (gst_flxdec_loop):
Work.
* gst/modplug/gstmodplug.cc:
Proper return value setting for the query() function.
* gst/playback/gstplaybasebin.c: (setup_source):
Being in non-playing state (after, e.g., EOS) is not necessarily
a bad thing. Allow for that. This fixes playback of short files.
They don't actually playback fully now, because the clock already
runs. This means that small files (<500kB) with a small length
(<2sec) will still not or barely play. Other files, such as mod
or flx, will work correctly, however.
2004-09-29 09:45:40 +00:00
Ronald S. Bultje
40cec75c3f ext/dirac/: Do something. Don't actually know if this works because I don't have a demuxer yet.
Original commit message from CVS:
* ext/dirac/Makefile.am:
* ext/dirac/gstdirac.cc:
* ext/dirac/gstdiracdec.cc:
* ext/dirac/gstdiracdec.h:
Do something. Don't actually know if this works because I don't
have a demuxer yet.
* ext/gsm/gstgsmdec.c: (gst_gsmdec_getcaps):
Add channels=1 to caps returned from _getcaps().
* ext/ogg/gstogmparse.c: (gst_ogm_audio_parse_get_type),
(gst_ogm_video_parse_get_type), (gst_ogm_audio_parse_base_init),
(gst_ogm_video_parse_base_init), (gst_ogm_parse_init),
(gst_ogm_audio_parse_init), (gst_ogm_video_parse_init),
(gst_ogm_parse_sink_convert), (gst_ogm_parse_chain),
(gst_ogm_parse_change_state):
Separate between audio/video so ogmaudioparse actually uses the
audio pad templates. Both audio and video work now, including
autoplugging. Also use sometimes-srcpad hack.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_seek):
Handle events better. Don't hang on infinite loops.
* gst/avi/gstavidemux.c: (gst_avi_demux_class_init),
(gst_avi_demux_init), (gst_avi_demux_reset),
(gst_avi_demux_src_convert), (gst_avi_demux_handle_src_query),
(gst_avi_demux_stream_header), (gst_avi_demux_stream_data),
(gst_avi_demux_change_state):
* gst/avi/gstavidemux.h:
Improve A/V sync. Still not perfect.
* gst/matroska/ebml-read.c: (gst_ebml_read_seek),
(gst_ebml_read_skip):
Handle events better.
* gst/qtdemux/qtdemux.c: (gst_qtdemux_handle_sink_event),
(gst_qtdemux_loop_header), (qtdemux_parse_trak),
(qtdemux_audio_caps):
Add IMA4. Improve event handling. Save offset after a seek when
the headers are at the end of the file so that we don't end up in
an infinite loop.
* gst/typefind/gsttypefindfunctions.c: (qt_type_find):
Add low-priority typefind support for files with no length.
2004-09-23 14:59:22 +00:00
Ronald S. Bultje
a15e93fc3d gst/avi/gstavidemux.c: Just hardcode for raw audio then. AVI audio sucks.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_stream_data):
Just hardcode for raw audio then. AVI audio sucks.
2004-09-15 20:06:15 +00:00
Ronald S. Bultje
9e36d10e82 gst/avi/gstavidemux.c: Try to fix a/v sync issues.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_stream_data):
Try to fix a/v sync issues.
2004-09-15 19:31:47 +00:00
Ronald S. Bultje
3bae21ef61 gst/avi/gstavidemux.*: Fix for compressed audio (mp3) timestamp generation. How did this ever work?
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_add_stream), (gst_avi_demux_stream_data):
* gst/avi/gstavidemux.h:
Fix for compressed audio (mp3) timestamp generation. How did this
ever work?
2004-09-15 17:14:34 +00:00
Wim Taymans
dfb55453e4 gst/: Make sure we don't create 0 sized subbufers in riff-read.
Original commit message from CVS:
* gst-libs/gst/riff/riff-read.c:
(gst_riff_read_strf_vids_with_data),
(gst_riff_read_strf_auds_with_data):
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_add_stream), (gst_avi_demux_stream_header):
Make sure we don't create 0 sized subbufers in riff-read.
Signal the no more pads signal after reading the avi header.
2004-07-16 10:50:49 +00:00
Wim Taymans
872a055c55 gst/: Set codec_data on caps for avidemuxer.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_audio_caps_with_data),
(gst_riff_create_audio_caps),
(gst_riff_create_audio_template_caps):
* gst-libs/gst/riff/riff-media.h:
* gst-libs/gst/riff/riff-read.c:
(gst_riff_read_strf_vids_with_data),
(gst_riff_read_strf_auds_with_data), (gst_riff_read_strf_auds):
* gst-libs/gst/riff/riff-read.h:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query),
(gst_avi_demux_add_stream):
Set codec_data on caps for avidemuxer.
2004-07-13 10:24:29 +00:00
Wim Taymans
712347f136 gst/avi/gstavidemux.c: Fix potential division by zero error and hopefully get the position query right to get correct...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_query):
Fix potential division by zero error and hopefully get
the position query right to get correct timestamps on avi
audio.
2004-05-24 15:24:05 +00:00
Stéphane Loeuillet
ec8a1bb76c first batch : remove ',' at end of enums as they could confuse older gcc, foreign compilers (forte) and gtk-doc
Original commit message from CVS:

first batch :
remove ',' at end of enums as they could confuse older gcc, foreign compilers (forte) and gtk-doc
2004-05-21 22:39:30 +00:00
Ronald S. Bultje
26fe995a13 gst/: Add MS RLE support. I added some functions to read out strf chunks into strf chunks and the data behind it. Thi...
Original commit message from CVS:
reviewed by: <delete if not using a buddy>
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data),
(gst_riff_create_video_caps), (gst_riff_create_audio_caps),
(gst_riff_create_video_template_caps),
(gst_riff_create_audio_template_caps):
* gst-libs/gst/riff/riff-media.h:
* gst-libs/gst/riff/riff-read.c:
(gst_riff_read_strf_vids_with_data), (gst_riff_read_strf_vids):
* gst-libs/gst/riff/riff-read.h:
* gst/avi/gstavidemux.c: (gst_avi_demux_add_stream):
Add MS RLE support. I added some functions to read out strf chunks
into strf chunks and the data behind it. This is usually color
palettes (as in RLE, but also in 8-bit RGB). Also use those during
caps creation. Lastly, add ADPCM (similar to wavparse - which
should eventually be rifflib based).
* gst/matroska/matroska-demux.c: (gst_matroska_demux_class_init),
(gst_matroska_demux_init), (gst_matroska_demux_reset):
* gst/matroska/matroska-demux.h:
Remove placeholders for some prehistoric tagging system. Didn't add
support for any tag system really anyway.
* gst/qtdemux/qtdemux.c:
Add support for audio/x-m4a (MPEG-4) through spider.
* gst/wavparse/gstwavparse.c: (gst_wavparse_parse_fmt),
(gst_wavparse_loop):
ADPCM support (#135862). Increase max. buffer size because we
cannot split buffers for ADPCM (screws references) and I've seen
files with 2048 byte chunks. 4096 seems safe for now.
2004-04-16 01:20:44 +00:00
Sebastien Cote
23222fefd2 gst/avi/gstavidemux.c: Fix memleak. patch from Sebastien Cote (bug #139958)
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_reset): Fix memleak.
patch from Sebastien Cote (bug #139958)
2004-04-13 21:34:29 +00:00
Ronald S. Bultje
d5153a8691 gst/avi/gstavidemux.c: Handle JUNK chunks inside data section. Prevents warnings.
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_data):
Handle JUNK chunks inside data section. Prevents warnings.
2004-04-11 22:09:26 +00:00
Ronald S. Bultje
0b122a2891 gst-libs/gst/riff/riff-media.c: Add MS video v1.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_video_template_caps):
Add MS video v1.
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_index),
(gst_avi_demux_stream_data):
Add support for "rec-list" chunks.
2004-04-11 21:36:45 +00:00
Thomas Vander Stichele
6cc1c73d2b don't mix tabs and spaces
Original commit message from CVS:
don't mix tabs and spaces
2004-03-15 19:32:27 +00:00
Thomas Vander Stichele
5d25c00e4b gst-indent
Original commit message from CVS:
gst-indent
2004-03-14 22:34:33 +00:00
Julien Moutte
c74043423e gst/: First batch implementing audio and video codec tags in demuxers.
Original commit message from CVS:
2004-02-23  Julien MOUTTE  <julien@moutte.net>

* gst-libs/gst/riff/riff-media.c: (gst_riff_create_video_caps),
(gst_riff_create_audio_caps), (gst_riff_create_iavs_caps),
(gst_riff_create_video_template_caps),
(gst_riff_create_audio_template_caps),
(gst_riff_create_iavs_template_caps):
* gst-libs/gst/riff/riff-media.h:
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_base_init),
(gst_asf_demux_audio_caps), (gst_asf_demux_add_audio_stream),
(gst_asf_demux_video_caps), (gst_asf_demux_add_video_stream):
* gst/avi/gstavidemux.c: (gst_avi_demux_add_stream):
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream),
(gst_matroska_demux_video_caps), (gst_matroska_demux_audio_caps),
(gst_matroska_demux_plugin_init): First batch implementing audio and
video codec tags in demuxers.
2004-02-23 22:16:21 +00:00
David Schleef
f1d84d8ae7 Build fixes for OS X: (see #129600)
Original commit message from CVS:
Build fixes for OS X: (see #129600)
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_strh),
(gst_riff_read_strf_vids), (gst_riff_read_strf_auds),
(gst_riff_read_strf_iavs):
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_avih),
(gst_avi_demux_stream_odml):
* gst/playondemand/Makefile.am:
* gst/rtp/rtp-packet.c:
2004-02-07 01:34:05 +00:00
Thomas Vander Stichele
79bc3ebfa1 change NULL to (NULL) for GST_ELEMENT_ERROR
Original commit message from CVS:
change NULL to (NULL) for GST_ELEMENT_ERROR
Make sure errors end with "."
2004-02-02 17:23:33 +00:00
Thomas Vander Stichele
51e5863a97 GST_ELEMENT_ERROR
Original commit message from CVS:
GST_ELEMENT_ERROR
2004-01-29 23:20:45 +00:00
David Schleef
9f8051c5ea gst/ac3parse/gstac3parse.c: update to checklist 5
Original commit message from CVS:
* gst/ac3parse/gstac3parse.c: update to checklist 5
* gst/adder/gstadder.c: rewrite negotiation.  update to checklist 5
* gst/audioconvert/gstaudioconvert.c: update to checklist 5
* gst/audioscale/gstaudioscale.c: same
* gst/auparse/gstauparse.c: same
* gst/avi/gstavidemux.c: same
2004-01-27 09:00:01 +00:00
Ronald S. Bultje
2c82da7073 gst/avi/gstavidemux.c: The index reading was broken. The rest worked fine, but the whole goal of my rewrite was to ma...
Original commit message from CVS:
2004-01-25  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* gst/avi/gstavidemux.c: (gst_avi_demux_stream_avih),
(gst_avi_demux_stream_odml), (gst_avi_demux_stream_index):
The index reading was broken. The rest worked fine, but the whole
goal of my rewrite was to make avidemux readable, and this was
not at all readable. Please use typed variables.
2004-01-25 00:43:16 +00:00
Benjamin Otte
2de9e90128 gst/avi/gstavidemux.c: don't write to buffer. Extract data without the need of __attribute__ ((packed))
Original commit message from CVS:
2004-01-23  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/avi/gstavidemux.c: (gst_avi_demux_stream_avih),
(gst_avi_demux_stream_odml), (gst_avi_demux_stream_index):
don't write to buffer. Extract data without the need of
__attribute__ ((packed))
2004-01-23 17:45:54 +00:00
Ronald S. Bultje
37ac1f6617 ext/ogg/gstoggdemux.c: Fix wrong file comment.
Original commit message from CVS:
2004-01-23  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* ext/ogg/gstoggdemux.c:
Fix wrong file comment.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_info):
* gst/avi/gstavidemux.c: (gst_avi_demux_stream_header):
Add metadata reading properly.
2004-01-23 13:22:16 +00:00
Thomas Vander Stichele
3b0cf935f6 use new error signal and classification
Original commit message from CVS:
use new error signal and classification
2004-01-18 21:46:58 +00:00
Ronald S. Bultje
39a338d51c configure.ac: Fix configure check for mpeg2enc. We need 1.6.1.93 instead of 1.6.1.92, since the pkg-config file of 1....
Original commit message from CVS:
2004-01-01  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* configure.ac:
Fix configure check for mpeg2enc. We need 1.6.1.93 instead of
1.6.1.92, since the pkg-config file of 1.6.1.92 is borked and
it therefore uses the wrong include paths. Too bad... Note
that 1.6.1.93 is not release yet. ;).
Also add a check for mplex, which is now using the lib'ified
mplex from mjpegtools, too.
* ext/ffmpeg/gstffmpegcodecmap.c:
Add codec_tag for 3ivx/xvid. For xvid, this should fix playback
issues. I don't think ffmpeg handles 3ivx correctly, so this
probably won't work. But it won't hurt either.
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_connect),
(gst_ffmpegdec_chain):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect),
(gst_ffmpegenc_chain_audio):
Fix memleak in audio encoding. Close codec if open fails, this
calls the cleanup routines so we can re-use the context.
* ext/mpeg2enc/gstmpeg2enc.cc:
Fix pad template names/types, fix memory issue with getcaps().
* ext/mpeg2enc/gstmpeg2encoder.cc:
* ext/mpeg2enc/gstmpeg2encoder.hh:
Fix compile issue with new caps system (const thingy).
* ext/mpeg2enc/gstmpeg2encpicturereader.cc:
* ext/mpeg2enc/gstmpeg2encpicturereader.hh:
We read a first frame right on initing, so that we have a caps
when we init the output. This caps is cached in padprivate and
read as first frame.
* ext/mplex/Makefile.am:
* ext/mplex/gstmplex.cc:
* ext/mplex/gstmplex.h:
* ext/mplex/gstmplex.hh:
* ext/mplex/gstmplexibitstream.cc:
* ext/mplex/gstmplexibitstream.hh:
* ext/mplex/gstmplexjob.cc:
* ext/mplex/gstmplexjob.hh:
* ext/mplex/gstmplexoutputstream.cc:
* ext/mplex/gstmplexoutputstream.hh:
We wrap mjpegtools mplex. So I rewrote the plugin. The old plugin
had issues, didn't do capsnego, supported only a subset of the
mplex features and required a mplex fork in our local CVS. Plus
that it worked agaist a very old mplex version. Rewriting was
faster than updating it.
* gst-libs/ext/Makefile.am:
* gst-libs/ext/mplex/INSTRUCT:
* gst-libs/ext/mplex/Makefile.am:
* gst-libs/ext/mplex/README:
* gst-libs/ext/mplex/TODO:
* gst-libs/ext/mplex/ac3strm_in.cc:
* gst-libs/ext/mplex/audiostrm.hh:
* gst-libs/ext/mplex/audiostrm_out.cc:
* gst-libs/ext/mplex/aunit.hh:
* gst-libs/ext/mplex/bits.cc:
* gst-libs/ext/mplex/bits.hh:
* gst-libs/ext/mplex/buffer.cc:
* gst-libs/ext/mplex/buffer.hh:
* gst-libs/ext/mplex/fastintfns.h:
* gst-libs/ext/mplex/format_codes.h:
* gst-libs/ext/mplex/inputstrm.cc:
* gst-libs/ext/mplex/inputstrm.hh:
* gst-libs/ext/mplex/lpcmstrm_in.cc:
* gst-libs/ext/mplex/mjpeg_logging.cc:
* gst-libs/ext/mplex/mjpeg_logging.h:
* gst-libs/ext/mplex/mjpeg_types.h:
* gst-libs/ext/mplex/mpastrm_in.cc:
* gst-libs/ext/mplex/mpegconsts.cc:
* gst-libs/ext/mplex/mpegconsts.h:
* gst-libs/ext/mplex/mplexconsts.hh:
* gst-libs/ext/mplex/multplex.cc:
* gst-libs/ext/mplex/outputstream.hh:
* gst-libs/ext/mplex/padstrm.cc:
* gst-libs/ext/mplex/padstrm.hh:
* gst-libs/ext/mplex/stillsstream.cc:
* gst-libs/ext/mplex/stillsstream.hh:
* gst-libs/ext/mplex/systems.cc:
* gst-libs/ext/mplex/systems.hh:
* gst-libs/ext/mplex/vector.cc:
* gst-libs/ext/mplex/vector.hh:
* gst-libs/ext/mplex/videostrm.hh:
* gst-libs/ext/mplex/videostrm_in.cc:
* gst-libs/ext/mplex/videostrm_out.cc:
* gst-libs/ext/mplex/yuv4mpeg.cc:
* gst-libs/ext/mplex/yuv4mpeg.h:
* gst-libs/ext/mplex/yuv4mpeg_intern.h:
* gst-libs/ext/mplex/yuv4mpeg_ratio.cc:
We don't fork mjpegtools' mplex in our CVS anymore.
* gst/avi/gstavidemux.c: (gst_avi_demux_src_getcaps),
(gst_avi_demux_add_stream):
* gst/avi/gstavidemux.h:
Add getcaps() function for proper caps nego. This makes some
parts of AVI playback/reading work.
* sys/ximage/ximagesink.c: (gst_ximagesink_sinkconnect):
Resize window on new capsnego. This is probably wrong, but
I'm still committing it because with current capsnego, the
first successfull capsnego is auto-fixated, therefore rounded
down to the lowest values in the caps. this results in a 16x16
XWindow that is not reized when real capsnego finishes.
Dave, I see more cases of this, do you know a proper solution?
* tools/gst-launch-ext.in:
Fix MPEG-4 AAC (Apple iPod/iTunes) file commandline.
2004-01-01 22:45:57 +00:00
David Schleef
ce51f6173c Merge CAPS branch
Original commit message from CVS:
Merge CAPS branch
2003-12-22 01:47:09 +00:00
Ronald S. Bultje
12e856c26d Riff, EBML, fourcc etc. work. Not fully finished, but better than what we used to have and definately worth a first b...
Original commit message from CVS:
Riff, EBML, fourcc etc. work. Not fully finished, but better than
what we used to have and definately worth a first broad testing.

I've revived rifflib. Rifflib used to be a bytestream-for-riff, which
just dup'ed bytestream. I've rewritten rifflib to be a modern riff-
chunk parser that uses bytestream fully, plus adds some extra functions
so that riff file parsing becomes extremely easy. It also contains some
small usability functions for strh/strf and metadata parsing. Note that
it doesn't use the new tagging yet, that's a TODO.

Avidemux has been rewritten to use this. I think we all agreed that
avidemux was pretty much a big mess, which is because it used all
sort of bytestream magic all around the place. It was just ugly.
This is a lot nicer, very complete and safe. I think this is far more
robust than what the old avidemux could ever have been. Of course, it
might contain bugs, please let me know.

EBML writing has also been implemented. This is useful for matroska.
I'm intending to modify avidemux (with a riffwriter) similarly. Maybe
I'll change wavparse/-enc too to use rifflib.

Lastly, several plugins have been modified to use rifflib's fourcc
parsing instead of their own. this puts fourcc parsing in one central
place, which should make it a lot simpler to add new fourccs. We might
want to move this to its own lib instead of rifflib.

Enjoy!
2003-12-07 20:00:41 +00:00
Andy Wingo
e46d34995d remove copyright field from plugins
Original commit message from CVS:
remove copyright field from plugins
2003-12-04 10:37:38 +00:00
David Schleef
f1d94660c5 Change everyone to video/x-msvideo
Original commit message from CVS:
Change everyone to video/x-msvideo
2003-11-27 21:49:39 +00:00
Benjamin Otte
4db301b2e5 License is GST_LICENSE, make own debugging category and fix some debug statements
Original commit message from CVS:
License is GST_LICENSE, make own debugging category and fix some debug statements
2003-11-24 23:11:42 +00:00
David Schleef
69277f05a7 Merge plugins. Update to new plugin init code
Original commit message from CVS:
Merge plugins.  Update to new plugin init code
2003-11-01 02:07:52 +00:00
David Schleef
dcab47e405 avidemux still depends on riff
Original commit message from CVS:
avidemux still depends on riff
2003-10-31 20:03:49 +00:00
Iain Holmes
64eb55d84a Doesn't need to load gstriff
Original commit message from CVS:
Doesn't need to load gstriff
2003-10-31 12:39:41 +00:00
Benjamin Otte
c9ae463a4f merge TYPEFIND branch. Major changes:
Original commit message from CVS:
merge TYPEFIND branch. Major changes:
- totally reworked type(find) system
- all typefind functions are in gst/typefind now
- more typefind functions then before
- some plugins might fail to compile now because I don't have them installed and they
a) require bytestream or
b) haven't had their typefind fixed.
Please fix those plugins and put the typefind functions into gst/typefind if they don't have dependencies
2003-10-28 20:52:41 +00:00
Andy Wingo
f2d5cae8da /GstBuffer/GstData/ in the API where you can pass events. Fix the plugins to deal with that. Fixes #113488.
Original commit message from CVS:
/GstBuffer/GstData/ in the API where you can pass events. Fix the plugins to deal with that. Fixes #113488.
2003-10-08 16:08:18 +00:00
Ronald S. Bultje
38946080fd New typefind system: bytestream is now part of the core all plugins have been modified to use this new typefind syste...
Original commit message from CVS:
New typefind system:
* bytestream is now part of the core
* all plugins have been modified to use this new typefind system
* asf typefinding added
* mpeg video stream typefiding removed because it's broken
* duplicate typefind entries removed
* extra id3 typefinding added, because we've seen 4 types of files
(riff/wav, flac, vorbis, mp3) with id3 headers and each of these needs
to work. Instead, I've added an id3 element and let it redo typefiding
after the id3 header. this needs a hack because spider only typefinds
once. We can remove this hack once spider supports multiple typefinds.
* with all this, mp3 typefinding is semi-rewritten
* id3 typefinding in flac/vorbis is removed, it's no longer needed
* fixed spider and gst-typefind to use this, too.
* Other general cleanups
2003-10-01 13:14:52 +00:00
Thomas Vander Stichele
54b0fe0f94 reverting error patch before making a branch.
Original commit message from CVS:
reverting error patch before making a branch.
2003-09-16 10:00:02 +00:00
Benjamin Otte
2cefb50429 converted gst_element_error to new format in gst/ - gettext pending
Original commit message from CVS:
converted gst_element_error to new format in gst/ - gettext pending
2003-09-15 00:34:47 +00:00
Ronald S. Bultje
f663868fcd Clarify DV type 1/2 difference
Original commit message from CVS:
Clarify DV type 1/2 difference
2003-09-12 11:39:05 +00:00
David Schleef
322baf19c8 Add buffer length checks to every typefinding function
Original commit message from CVS:
Add buffer length checks to every typefinding function
2003-07-24 08:49:42 +00:00
Brian Cameron
d0f73a2262 Support ISO style variable length macros
Original commit message from CVS:
Support ISO style variable length macros
2003-07-07 16:55:59 +00:00
Ronald S. Bultje
292fec2a0b New mimetypes gone into effect today - this commit changes all old mimetypes over to the new mimetypes spec as descri...
Original commit message from CVS:
New mimetypes gone into effect today - this commit changes all old mimetypes over to the new mimetypes spec as described in the previous commit's document. Note: some plugins will break, some pipelines will break, expect HEAD to be broken or at least not 100% working for a few days, but don't forget to report bugs
2003-07-06 20:49:52 +00:00
Benjamin Otte
90da904f1e compatibility fix for new GST_DEBUG stuff.
Original commit message from CVS:
compatibility fix for new GST_DEBUG stuff.
Includes fixes for missing includes for config.h and unistd.h

I only ensured for plugins I can build that they work, so if some of them are still broken, you gotta fix them yourselves unfortunately.
2003-06-29 19:46:12 +00:00
Benjamin Otte
3ecb3e1c09 gcc 3.3 and ppc fixes
Original commit message from CVS:
gcc 3.3 and ppc fixes
2003-06-14 20:10:11 +00:00
Ronald S. Bultje
4cd27e99d5 Add support for new divx/xvid mimetypes
Original commit message from CVS:
Add support for new divx/xvid mimetypes
2003-06-01 17:00:45 +00:00
Wim Taymans
1c65404179 Update duration field
Original commit message from CVS:
Update duration field
2003-05-29 10:12:29 +00:00
Wim Taymans
9dc595c9b9 UNITS -> DEFAULT
Original commit message from CVS:
UNITS -> DEFAULT
2003-05-24 10:41:21 +00:00
Ronald S. Bultje
5a77a54a5a PCM data in AVI is always little endian
Original commit message from CVS:
PCM data in AVI is always little endian
2003-05-14 21:59:18 +00:00
Benjamin Otte
fe00dae6d4 added support for alaw/mulaw audio - yes, I have alaw encoded AVIs here
Original commit message from CVS:
added support for alaw/mulaw audio - yes, I have alaw encoded AVIs here
2003-04-14 02:18:46 +00:00
Wim Taymans
d3ebdad0b1 Bigendian fixes
Original commit message from CVS:
Bigendian fixes
2003-02-04 21:21:38 +00:00
Wim Taymans
2fe0c7b83e Endian fixes for index parsing.
Original commit message from CVS:
Endian fixes for index parsing.
2003-02-04 18:58:34 +00:00
Wim Taymans
9314894ee3 Fix endian issues with metadata. Some Cleanups too
Original commit message from CVS:
Fix endian issues with metadata. Some Cleanups too
2003-02-02 23:48:30 +00:00
David Schleef
df0b94aae4 Change %lld, %llu to G_G[U]INT64_FORMAT globally. Fix bad pointer->integer conversion.
Original commit message from CVS:
Change %lld, %llu to G_G[U]INT64_FORMAT globally.  Fix bad pointer->integer
conversion.
2003-02-02 05:26:29 +00:00
Ronald S. Bultje
1be30a4ce0 doh
Original commit message from CVS:
doh
2003-01-31 21:37:55 +00:00
Ronald S. Bultje
77329fbb2b Add metadata/streaminfo to AVI
Original commit message from CVS:
Add metadata/streaminfo to AVI
2003-01-31 19:37:26 +00:00
Wim Taymans
1655534c37 Don't use samplesize on video frames
Original commit message from CVS:
Don't use samplesize on video frames
2003-01-30 18:14:39 +00:00
Wim Taymans
0a4bfffd11 Be nice to the indians
Original commit message from CVS:
Be nice to the indians
2003-01-25 23:18:52 +00:00
Wim Taymans
eee282c521 - Parse strn tag
Original commit message from CVS:
- Parse strn tag
- fix flush
2003-01-21 22:23:32 +00:00
Wim Taymans
b720115fca - new avi demuxer doesn't use a recursive infinite loop anymore
Original commit message from CVS:
- new avi demuxer doesn't use a recursive infinite loop anymore
- removed temporary riff.[ch] files
- removed aviparse from build
2003-01-20 20:49:34 +00:00
Wim Taymans
fe48c46451 Really add A52 caps now
Original commit message from CVS:
Really add A52 caps now
2003-01-19 01:55:11 +00:00
Thomas Vander Stichele
06e299a3a5 don't break the build
Original commit message from CVS:
don't break the build
2003-01-18 23:53:43 +00:00
Wim Taymans
5d90723aed Don't barf on ISFT tags
Original commit message from CVS:
Don't barf on ISFT tags
2003-01-18 16:22:16 +00:00
Wim Taymans
8a878af24b Add a52 audio
Original commit message from CVS:
Add a52 audio
2003-01-18 16:13:29 +00:00
Iain Holmes
c2a5bb3a6a Handle JUNK and dmlh tags and when we find a broken/unknown chunk, just move to the next byte and try to see if it's ...
Original commit message from CVS:
Handle JUNK and dmlh tags and when we find a broken/unknown chunk, just move to the next byte and try to see if it's a known chunk
2003-01-15 00:41:40 +00:00
Wim Taymans
4d36ba7e87 Fix plugins for new query API
Original commit message from CVS:
Fix plugins for new query API
2002-12-30 17:53:18 +00:00
Iain Holmes
efa337df0a Replace audio/mp3 with audio/x-mp3 and audio/x-flac with application/x-flac
Original commit message from CVS:
Replace audio/mp3 with audio/x-mp3 and audio/x-flac with application/x-flac
2002-12-08 17:20:41 +00:00
Wim Taymans
ea619028c7 Added segment seek
Original commit message from CVS:
Added segment seek
2002-11-02 13:47:00 +00:00
Ronald S. Bultje
027ddda3f0 Add ogg/vorbis support for avi files
Original commit message from CVS:
Add ogg/vorbis support for avi files
2002-10-27 18:08:43 +00:00
David Schleef
a06f00ebb1 fix for big endian machines. Chunk ID conversion was being swabbed twice.
Original commit message from CVS:
fix for big endian machines.  Chunk ID conversion was being swabbed
twice.
2002-10-10 22:14:54 +00:00
Wim Taymans
ef399ccaf4 Fix various overflow cases, this should fix seeking on very large files.
Original commit message from CVS:
Fix various overflow cases, this should fix seeking on very large
files.
2002-09-23 20:05:04 +00:00
Christian Schaller
2ff64d483e plugins part of license field patch
Original commit message from CVS:
plugins part of license field patch
2002-09-18 19:02:51 +00:00
Wim Taymans
1868b0e348 const fixes
Original commit message from CVS:
const fixes
2002-09-12 20:53:56 +00:00
Thomas Vander Stichele
4ec41347e2 removing warnings (approved by wtay)
Original commit message from CVS:
removing warnings (approved by wtay)
2002-09-09 23:24:29 +00:00
Thomas Vander Stichele
4b9deaaf00 whoops, this shouldn'tvegonein
Original commit message from CVS:
whoops, this shouldn'tvegonein
2002-08-27 17:55:15 +00:00
Thomas Vander Stichele
509a2d42b1 sf's back
Original commit message from CVS:
sf's back
2002-08-27 17:45:07 +00:00
Wim Taymans
6bfb23d4d1 Don't send events on unusable pads
Original commit message from CVS:
Don't send events on unusable pads
2002-08-02 11:30:55 +00:00
Wim Taymans
22cfbdfe29 - added eventmask/query/format functions
Original commit message from CVS:
- added eventmask/query/format functions
- some cleanups
2002-07-24 21:41:38 +00:00
Wim Taymans
8a4b3564b5 - properly unref events
Original commit message from CVS:
- properly unref events
- slightly better seeking
2002-07-08 19:40:37 +00:00
Andy Wingo
28672d474e fix multiline string
Original commit message from CVS:
fix multiline string
2002-07-04 16:52:03 +00:00
Wim Taymans
d9b0cf77a2 Separate the movi processing loop from the index/entry parsing loop
Original commit message from CVS:
Separate the movi processing loop from the index/entry parsing loop
Detect when the index starts from 0 or from the movi chunck offset
2002-06-18 19:17:04 +00:00