Commit graph

555 commits

Author SHA1 Message Date
Sebastian Dröge
d0bb024e11 gst/matroska/matroska-demux.c: When receiving a SEEK event on a specific pad first search for a seek table entry for ...
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroskademux_do_index_seek),
(gst_matroska_demux_element_send_event),
(gst_matroska_demux_handle_seek_event),
(gst_matroska_demux_handle_src_event):
When receiving a SEEK event on a specific pad first search for a seek
table entry for the stream of the pad and then fall back to an entry
for a different stream.
2008-08-02 18:35:21 +00:00
Sebastian Dröge
25bc74b8a6 Build depend on core CVS for the attachment tag.
Original commit message from CVS:
* configure.ac:
* gst/matroska/matroska-ids.c: (gst_matroska_register_tags):
* gst/matroska/matroska-ids.h:
Build depend on core CVS for the attachment tag.
2008-08-02 18:20:44 +00:00
Sebastian Dröge
c4912dac78 Decode the codec private data and following ContentEncoding if necessary.
Original commit message from CVS:
* configure.ac:
* gst/matroska/Makefile.am:
* gst/matroska/lzo.c: (get_byte), (get_len), (copy),
(copy_backptr), (lzo1x_decode), (main):
* gst/matroska/lzo.h:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_read_track_encoding),
(gst_matroska_decompress_data), (gst_matroska_decode_data),
(gst_matroska_decode_buffer),
(gst_matroska_decode_content_encodings),
(gst_matroska_demux_read_track_encodings),
(gst_matroska_demux_add_stream),
(gst_matroska_demux_parse_blockgroup_or_simpleblock):
* gst/matroska/matroska-ids.h:
Decode the codec private data and following ContentEncoding if
necessary.
Support bzip2, lzo and header stripped compression. For lzo use the
ffmpeg lzo implementation as liblzo is GPL licensed.
Fix zlib decompression.
2008-08-02 18:18:05 +00:00
Sebastian Dröge
aedf04f957 gst/matroska/matroska-mux.c: Fix muxing of MP3/MP2 with different MPEG versions by calculating the duration of a fram...
Original commit message from CVS:
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_audio_pad_setcaps):
Fix muxing of MP3/MP2 with different MPEG versions by calculating the
duration of a frame with the new mpegaudioversion caps field.
2008-08-02 18:11:32 +00:00
Sebastian Dröge
d43e67fa70 gst/matroska/matroska-demux.*: Allow an infinite number of stream inside Matroska containers and use a GPtrArray for ...
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_finalize),
(gst_matroska_demux_class_init), (gst_matroska_demux_init),
(gst_matroska_demux_combine_flows), (gst_matroska_demux_reset),
(gst_matroska_demux_stream_from_num),
(gst_matroska_demux_tracknumber_unique),
(gst_matroska_demux_add_stream), (gst_matroska_demux_send_event),
(gst_matroska_demux_handle_seek_event),
(gst_matroska_demux_sync_streams),
(gst_matroska_demux_parse_blockgroup_or_simpleblock),
(gst_matroska_demux_loop):
* gst/matroska/matroska-demux.h:
Allow an infinite number of stream inside Matroska containers and use
a GPtrArray for storing them instead of allowing "only" 127 streams.
2008-08-02 18:06:20 +00:00
Sebastian Dröge
4ed1d36b7d gst/matroska/: Fix indention everywhere. A broken indent version has added newlines after every single declaration so...
Original commit message from CVS:
* gst/matroska/ebml-read.c: (gst_ebml_read_class_init),
(gst_ebml_read_change_state), (gst_ebml_read_element_level_up),
(gst_ebml_read_peek_bytes), (gst_ebml_read_element_id),
(gst_ebml_read_element_length), (gst_ebml_peek_id),
(gst_ebml_read_get_length), (gst_ebml_read_skip),
(gst_ebml_read_buffer), (gst_ebml_read_bytes),
(gst_ebml_read_uint), (gst_ebml_read_sint), (_ext2dbl),
(gst_ebml_read_float), (gst_ebml_read_ascii), (gst_ebml_read_date),
(gst_ebml_read_master), (gst_ebml_read_binary),
(gst_ebml_read_header):
* gst/matroska/ebml-write.c: (gst_ebml_write_element_id),
(gst_ebml_write_element_size), (gst_ebml_write_uint),
(gst_ebml_write_sint), (gst_ebml_write_ascii),
(gst_ebml_write_master_start), (gst_ebml_write_master_finish),
(gst_ebml_replace_uint):
* gst/matroska/matroska-demux.c: (gst_matroska_demux_reset),
(gst_matroska_demux_read_track_encoding),
(gst_matroska_demux_read_track_encodings),
(gst_matroska_demux_add_stream), (gst_matroskademux_do_index_seek),
(gst_matroska_demux_send_event),
(gst_matroska_demux_element_send_event),
(gst_matroska_demux_handle_seek_event),
(gst_matroska_demux_handle_src_event),
(gst_matroska_demux_init_stream),
(gst_matroska_demux_parse_tracks),
(gst_matroska_demux_parse_index_cuetrack),
(gst_matroska_demux_parse_index_pointentry),
(gst_matroska_demux_parse_index), (gst_matroska_demux_parse_info),
(gst_matroska_demux_parse_metadata_id_simple_tag),
(gst_matroska_demux_parse_metadata_id_tag),
(gst_matroska_demux_parse_metadata),
(gst_matroska_demux_parse_attached_file),
(gst_matroska_demux_parse_attachments),
(gst_matroska_demux_parse_chapters), (gst_matroska_ebmlnum_uint),
(gst_matroska_ebmlnum_sint), (gst_matroska_demux_push_hdr_buf),
(gst_matroska_demux_push_flac_codec_priv_data),
(gst_matroska_demux_push_xiph_codec_priv_data),
(gst_matroska_demux_push_dvd_clut_change_event),
(gst_matroska_demux_add_mpeg_seq_header),
(gst_matroska_demux_add_wvpk_header),
(gst_matroska_demux_check_subtitle_buffer),
(gst_matroska_decode_buffer),
(gst_matroska_demux_parse_blockgroup_or_simpleblock),
(gst_matroska_demux_parse_cluster),
(gst_matroska_demux_parse_contents_seekentry),
(gst_matroska_demux_parse_contents),
(gst_matroska_demux_loop_stream_parse_id),
(gst_matroska_demux_loop_stream), (gst_matroska_demux_loop),
(gst_matroska_demux_video_caps), (gst_matroska_demux_audio_caps),
(gst_matroska_demux_subtitle_caps),
(gst_matroska_demux_change_state):
* gst/matroska/matroska-ids.c:
* gst/matroska/matroska-mux.c: (gst_matroska_mux_class_init),
(gst_matroska_mux_reset), (gst_matroska_mux_handle_sink_event),
(gst_matroska_mux_video_pad_setcaps),
(xiph3_streamheader_to_codecdata),
(vorbis_streamheader_to_codecdata),
(theora_streamheader_to_codecdata),
(gst_matroska_mux_audio_pad_setcaps),
(gst_matroska_mux_request_new_pad), (gst_matroska_mux_release_pad),
(gst_matroska_mux_track_header), (gst_matroska_mux_start),
(gst_matroska_mux_write_simple_tag), (gst_matroska_mux_finish),
(gst_matroska_mux_best_pad), (gst_matroska_mux_write_data),
(gst_matroska_mux_collected), (gst_matroska_mux_change_state):
Fix indention everywhere. A broken indent version has added newlines
after every single declaration some time ago.
2008-08-02 18:01:36 +00:00
Sebastian Dröge
9cb2a4f461 gst/matroska/matroska-demux.c: If no Tracks are found error out instead of trying it again until the end of time.
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_loop_stream_parse_id):
If no Tracks are found error out instead of trying it again until the
end of time.
2008-08-02 17:59:05 +00:00
Sebastian Dröge
f5fdbfd416 gst/matroska/matroska-demux.c: Fix demuxing of raw integer audio. The samples are unsigned only for 8 bit and signed ...
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_audio_caps):
Fix demuxing of raw integer audio. The samples are unsigned only for 8
bit and signed otherwise, not the other way around.
2008-08-02 17:57:31 +00:00
Sebastian Dröge
cbc3df738b gst/matroska/matroska-mux.c: Add more raw YUV formats to the list of supported formats.
Original commit message from CVS:
* gst/matroska/matroska-mux.c:
Add more raw YUV formats to the list of supported formats.
2008-08-02 17:54:04 +00:00
Sebastian Dröge
266c0bf8bf gst/matroska/matroska-mux.c: Add support for muxing raw float audio now that the spec defines the endianness and add ...
Original commit message from CVS:
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_audio_pad_setcaps):
Add support for muxing raw float audio now that the spec defines the
endianness and add support for muxing raw integer audio with 24 and
32 bits.
Allow muxing of more than 8 audio channels.
2008-08-02 17:52:16 +00:00
Sebastian Dröge
0767ed3351 gst/matroska/matroska-mux.c: Add locking to the global array of used track UIDs to prevent random crashes if more tha...
Original commit message from CVS:
* gst/matroska/matroska-mux.c: (gst_matroska_mux_create_uid),
(gst_matroska_mux_reset), (gst_matroska_mux_start):
Add locking to the global array of used track UIDs to prevent random
crashes if more than a single matrosmux instance is used.
Use 64 bit values for the track UIDs.
Use the global GRandom of GLib instead of creating our own one
for the few random numbers we need every single time.
2008-08-02 17:47:32 +00:00
Sebastian Dröge
33e0d064a5 gst/matroska/matroska-demux.c: Handle position and duration query in DEFAULT format if the pad's track has a default ...
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_class_init),
(gst_matroska_demux_add_stream), (gst_matroska_demux_query),
(gst_matroska_demux_element_query),
(gst_matroska_demux_handle_src_query),
(gst_matroska_demux_handle_seek_event):
Handle position and duration query in DEFAULT format if the
pad's track has a default frame duration set.
Fix seeking now that the segment's duration doesn't contain the
(possibly wrong or inaccurate) duration of the Matroska file.
2008-07-02 09:51:16 +00:00
Sebastian Dröge
2c38fcd1e6 gst/matroska/ebml-read.c: Use NAN constant instead of 0.0/0.0 if possible. NAN is defined in math.h except on MSVC wh...
Original commit message from CVS:
* gst/matroska/ebml-read.c: (_ext2dbl):
Use NAN constant instead of 0.0/0.0 if possible. NAN is defined
in math.h except on MSVC where it is defined in xmath.h.
Fixes compilation with MSVC.
2008-07-02 09:04:50 +00:00
Sebastian Dröge
35bcb8d8b0 gst/matroska/matroska-demux.*: Don't set the segment duration to the duration from the Matroska header as this value ...
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_reset),
(gst_matroska_demux_handle_src_query),
(gst_matroska_demux_parse_info),
(gst_matroska_demux_loop_stream_parse_id):
* gst/matroska/matroska-demux.h:
Don't set the segment duration to the duration from the Matroska
header as this value could be wrong and is just informational.
2008-07-02 08:57:04 +00:00
Sebastian Dröge
5b68f28c94 gst/matroska/matroska-demux.c: If no Tracks element is found until the first Cluster is found search it and error out...
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_loop_stream_parse_id):
If no Tracks element is found until the first Cluster is found
search it and error out if none is found in the complete file.
2008-07-02 08:47:00 +00:00
Sebastian Dröge
b7bd5d283b gst/matroska/matroska-demux.c: Resync non-subtitle tracks too if a too large gap compared to other tracks is detected.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_sync_streams):
Resync non-subtitle tracks too if a too large gap compared to other
tracks is detected.
2008-07-02 08:14:35 +00:00
Julien Moutte
75c5d2e4ef gst/matroska/matroska-demux.c: Fix buggy format strings in macros. (makes it build on OS X again...)
Original commit message from CVS:
2008-06-23  Julien Moutte  <julien@fluendo.com>

* gst/matroska/matroska-demux.c:
(gst_matroska_demux_read_track_encoding),
(gst_matroska_demux_parse_blockgroup_or_simpleblock): Fix buggy
format strings in macros. (makes it build on OS X again...)
2008-06-23 16:13:40 +00:00
Sebastian Dröge
96da520095 gst/matroska/: Fix demuxing of WavPack files. Muxing is still broken.
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_add_wvpk_header),
(gst_matroska_demux_audio_caps):
* gst/matroska/matroska-ids.h:
Fix demuxing of WavPack files. Muxing is still broken.
2008-06-19 10:48:57 +00:00
Sebastian Dröge
7afcb8068a gst/matroska/: Add a "vfunc" to the track context for postprocessing frames and convert the wavpack and subtitle post...
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_track_free),
(gst_matroska_demux_add_mpeg_seq_header),
(gst_matroska_demux_add_wvpk_header),
(gst_matroska_demux_check_subtitle_buffer),
(gst_matroska_demux_parse_blockgroup_or_simpleblock),
(gst_matroska_demux_video_caps), (gst_matroska_demux_audio_caps),
(gst_matroska_demux_subtitle_caps):
* gst/matroska/matroska-ids.h:
Add a "vfunc" to the track context for postprocessing frames and
convert the wavpack and subtitle postprocessing to this vfunc.
Copy buffer flags in those functions to the new buffers too.
Parse CodecState elements of Blocks.
Add a postprocessing function for MPEG video that adds the sequence
header from the codec private data or codec state to the frames if
it's not already there.
2008-06-19 09:12:55 +00:00
Sebastian Dröge
2d79914948 gst/matroska/matroska-demux.c: If a gap of more than 1/2 second is found in one stream send a
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_blockgroup_or_simpleblock):
If a gap of more than 1/2 second is found in one stream send a
NEWSEGMENT event to not stall the pipeline if the gap is too large.
This also fixes Matroska files where the first buffer doesn't start
at timestamp 0. Fixes bug #429322.
The duration of a block is the default duration multiplied with the
number of laces. Every lace is one frame and the default duration
is the duration of one frame. This fixes playback of files that use
lacing for some tracks.
2008-06-19 08:22:16 +00:00
Sebastian Dröge
0865a6019e gst/matroska/matroska-demux.c: Update FIXME/TODOs and only ignore EOS at the central, important place instead of seve...
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_contents_seekentry):
Update FIXME/TODOs and only ignore EOS at the central, important place
instead of several places.
2008-06-18 20:09:28 +00:00
Sebastian Dröge
6cf110c1e3 gst/matroska/matroska-demux.c: Improve debug output everywhere and fix the EOS logic.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_reset),
(gst_matroska_demux_stream_from_num),
(gst_matroska_demux_encoding_cmp),
(gst_matroska_demux_encoding_order_unique),
(gst_matroska_demux_read_track_encoding),
(gst_matroska_demux_read_track_encodings),
(gst_matroska_demux_tracknumber_unique),
(gst_matroska_demux_add_stream), (gst_matroska_demux_init_stream),
(gst_matroska_demux_parse_tracks),
(gst_matroska_demux_parse_index_cuetrack),
(gst_matroska_demux_parse_index_pointentry),
(gst_matroska_demux_parse_index), (gst_matroska_demux_parse_info),
(gst_matroska_demux_parse_metadata_id_simple_tag),
(gst_matroska_demux_parse_metadata_id_tag),
(gst_matroska_demux_parse_metadata),
(gst_matroska_demux_parse_attached_file),
(gst_matroska_demux_parse_attachments),
(gst_matroska_demux_parse_chapters),
(gst_matroska_demux_sync_streams), (gst_matroska_decode_buffer),
(gst_matroska_demux_parse_blockgroup_or_simpleblock),
(gst_matroska_demux_parse_cluster),
(gst_matroska_demux_parse_contents_seekentry),
(gst_matroska_demux_parse_contents),
(gst_matroska_demux_loop_stream_parse_id),
(gst_matroska_demux_loop):
Improve debug output everywhere and fix the EOS logic.
Check the values of the ContentEncoding elements more strictly and
don't use tracks for which it's invalid.
Check that the track number is unique for this stream.
Check that seek positions are below G_MAXINT64 as our seeks are
int64-based and overflows will fail badly.
After seeks also don't push SimpleBlocks until the first one
containing a keyframe is found. Before this was done only for normal
Blocks.
Update some FIXME/TODOs.
* gst/matroska/ebml-read.c: (gst_ebml_read_peek_bytes),
(gst_ebml_read_utf8), (gst_ebml_read_header):
Improve debug output.
* gst/matroska/matroska-ids.c:
(gst_matroska_track_init_video_context):
* gst/matroska/matroska-ids.h:
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_video_pad_setcaps):
Remove eye mode and don't parse it anymore. We can't use that
information in GStreamer yet so it's useless.
2008-06-18 10:28:20 +00:00
Sebastian Dröge
a5f813b90a gst/matroska/matroska-demux.c: When comparing index elements with the same time compare their block number.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_index_compare):
When comparing index elements with the same time compare their
block number.
2008-06-16 11:34:54 +00:00
Tim-Philipp Müller
350df6326d gst/matroska/matroska-demux.c: (gst_matroska_demux_parse_attached_file)
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_attached_file)
Init variable to NULL to avoid compiler warning.
2008-06-16 11:31:06 +00:00
Sebastian Dröge
8c6d2c506a gst/matroska/: Parse Attachments and post them as GST_TAG_IMAGE if we detect it as image and otherwise as GST_TAG_ATT...
Original commit message from CVS:
* gst/matroska/Makefile.am:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_reset),
(gst_matroska_demux_parse_attached_file),
(gst_matroska_demux_parse_attachments),
(gst_matroska_demux_parse_contents_seekentry),
(gst_matroska_demux_loop_stream_parse_id):
* gst/matroska/matroska-demux.h:
* gst/matroska/matroska-ids.c: (gst_matroska_register_tags):
* gst/matroska/matroska-ids.h:
* gst/matroska/matroska.c: (plugin_init):
Parse Attachments and post them as GST_TAG_IMAGE if we detect
it as image and otherwise as GST_TAG_ATTACHMENT. Include filename
and description of the attachments in the caps. Fixes bug #537622.
2008-06-16 10:59:39 +00:00
Sebastian Dröge
5e606453c0 gst/matroska/ebml-read.c: Return GST_FLOW_UNEXPECTED instead of GST_FLOW_ERROR on short reads.
Original commit message from CVS:
* gst/matroska/ebml-read.c: (gst_ebml_read_peek_bytes):
Return GST_FLOW_UNEXPECTED instead of GST_FLOW_ERROR on short reads.
If we get less bytes than requested we can't do anything except doing
our EOS logic.
2008-06-16 09:54:27 +00:00
Sebastian Dröge
94f778f952 gst/matroska/: Use a GArray for storing the Cue (i.e. seek) information, store the CueTrackPositions for every track,...
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_reset),
(gst_matroskademux_do_index_seek),
(gst_matroska_demux_parse_index_cuetrack),
(gst_matroska_demux_parse_index_pointentry),
(gst_matroska_index_compare), (gst_matroska_demux_parse_index),
(gst_matroska_demux_parse_metadata):
* gst/matroska/matroska-demux.h:
* gst/matroska/matroska-ids.h:
Use a GArray for storing the Cue (i.e. seek) information, store
the CueTrackPositions for every track, store the block number
and optimize searching in the array by sorting it after the last
element was added.
Fix a small memory leak when trying to parse a tags element that was
already parsed.
2008-06-15 19:09:54 +00:00
Sebastian Dröge
25e2770edf gst/matroska/matroska-mux.*: Don't write another SeekHead which indexes all Clusters to the end of the file. This isn...
Original commit message from CVS:
* gst/matroska/matroska-mux.c: (gst_matroska_mux_reset),
(gst_matroska_mux_start), (gst_matroska_mux_finish),
(gst_matroska_mux_write_data):
* gst/matroska/matroska-mux.h:
Don't write another SeekHead which indexes all Clusters to the end of
the file. This isn't useful for anything and just increases filesize.
2008-06-15 15:29:29 +00:00
Sebastian Dröge
99f206c055 gst/matroska/ebml-read.c: Prevent unaligned memory access when reading floats.
Original commit message from CVS:
* gst/matroska/ebml-read.c: (_ext2dbl), (gst_ebml_read_float):
Prevent unaligned memory access when reading floats.
2008-06-15 15:01:30 +00:00
Sebastian Dröge
8012622e1b gst/matroska/: Make sure that every Tags element is only parsed once and it's containing tags are only posted once.
Original commit message from CVS:
* gst/matroska/ebml-read.c:
* gst/matroska/ebml-read.h:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_reset),
(gst_matroska_demux_parse_metadata):
* gst/matroska/matroska-demux.h:
Make sure that every Tags element is only parsed once and it's
containing tags are only posted once.
2008-06-15 14:08:41 +00:00
Sebastian Dröge
3a99102c49 gst/matroska/: Handle EBML elements like Void or CRC32 in the EbmlRead base class already. They're not useful in the ...
Original commit message from CVS:
* gst/matroska/ebml-read.c: (gst_ebml_peek_id),
(gst_ebml_read_header):
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream),
(gst_matroska_demux_parse_tracks),
(gst_matroska_demux_parse_index_cuetrack),
(gst_matroska_demux_parse_index_pointentry),
(gst_matroska_demux_parse_index), (gst_matroska_demux_parse_info),
(gst_matroska_demux_parse_metadata_id_simple_tag),
(gst_matroska_demux_parse_metadata_id_tag),
(gst_matroska_demux_parse_metadata),
(gst_matroska_demux_parse_attachments),
(gst_matroska_demux_parse_chapters),
(gst_matroska_demux_parse_blockgroup_or_simpleblock),
(gst_matroska_demux_parse_cluster),
(gst_matroska_demux_parse_contents_seekentry),
(gst_matroska_demux_parse_contents),
(gst_matroska_demux_loop_stream_parse_id):
Handle EBML elements like Void or CRC32 in the EbmlRead base class
already. They're not useful in the matroska parser and only cause
additional code.
2008-06-15 09:43:25 +00:00
Sebastian Dröge
1051e57b36 gst/matroska/: Reverse the level list as we usually are only interested in the first element or want to add a new fir...
Original commit message from CVS:
* gst/matroska/ebml-read.c: (gst_ebml_level_free),
(gst_ebml_finalize), (gst_ebml_read_change_state),
(gst_ebml_read_element_level_up), (gst_ebml_read_master):
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_contents_seekentry):
Reverse the level list as we usually are only interested in the
first element or want to add a new first element. Having the
first element stored at the end and calling g_list_last() and
g_list_append() is more expensive.
Also use GSlice for allocating the GstEbmlLevel structs.
2008-06-14 15:51:25 +00:00
Sebastian Dröge
70ceffb790 gst/matroska/: Use gst_value_serialize() and gst_value_deserialize() for transforming tags from some GType to a strin...
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_metadata_id_simple_tag):
* gst/matroska/matroska-mux.c: (gst_matroska_mux_write_simple_tag),
(gst_matroska_mux_write_data):
Use gst_value_serialize() and gst_value_deserialize() for transforming
tags from some GType to a string and the other way around. The default
transformations in GLib don't include transformations from string to
number types.
2008-06-13 19:14:41 +00:00
Sebastian Dröge
04d1c49ef7 gst/matroska/matroska-demux.*: Only parse Tracks, SeekHead and SegmentInfo elements once but allow
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_reset),
(gst_matroska_demux_parse_tracks),
(gst_matroska_demux_parse_index), (gst_matroska_demux_parse_info),
(gst_matroska_demux_parse_attachments),
(gst_matroska_demux_parse_chapters),
(gst_matroska_demux_parse_contents_seekentry),
(gst_matroska_demux_loop_stream_parse_id):
* gst/matroska/matroska-demux.h:
Only parse Tracks, SeekHead and SegmentInfo elements once but allow
Tags multiple times. The first ones can appear more than once but must
contain the same content as the first for backup purposes so we ignore
all but the first one. Tags can appear multiple times with different
content.
Jump to all elements except Clusters that are available from a
SeekHead to make it more likely to have all required informations
before getting to the first Clusters.
Add dummy functions for parsing Attachments and Chapters.
2008-06-13 19:07:03 +00:00
Sebastian Dröge
1ad81019a2 gst/matroska/matroska-mux.c: Update the counter for the number of streams when pads are added or removed. This will m...
Original commit message from CVS:
* gst/matroska/matroska-mux.c: (gst_matroska_mux_request_new_pad),
(gst_matroska_mux_release_pad), (gst_matroska_mux_write_data):
Update the counter for the number of streams when pads are added or
removed. This will make sure that a seek table is generated for
files with just one audio stream.
2008-06-11 11:27:46 +00:00
Sebastian Dröge
4c46ceb4cb gst/matroska/: Add some more tags, improve debugging a bit and make sure that
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_metadata_id_simple_tag):
* gst/matroska/matroska-ids.h:
* gst/matroska/matroska-mux.c: (gst_matroska_mux_write_simple_tag):
Add some more tags, improve debugging a bit and make sure that
GValue transformation has succeeded before using the result
as a tag.
2008-06-11 11:18:23 +00:00
Sebastian Dröge
a778b414b8 gst/matroska/ebml-write.c: Use GDOUBLE_TO_BE() instead of (probably slower) custom code.
Original commit message from CVS:
* gst/matroska/ebml-write.c: (gst_ebml_write_float):
Use GDOUBLE_TO_BE() instead of (probably slower) custom code.
* gst/matroska/matroska-demux.c: (gst_matroska_demux_base_init),
(gst_matroska_demux_class_init), (gst_matroska_demux_init),
(gst_matroska_track_free), (gst_matroska_demux_encoding_cmp),
(gst_matroska_demux_read_track_encodings),
(gst_matroska_demux_add_stream),
(gst_matroska_demux_handle_src_query),
(gst_matroska_demux_init_stream),
(gst_matroska_demux_parse_index_cuetrack),
(gst_matroska_demux_parse_index_pointentry),
(gst_matroska_demux_parse_info),
(gst_matroska_demux_parse_metadata_id_simple_tag),
(gst_matroska_demux_parse_metadata),
(gst_matroska_demux_add_wvpk_header), (gst_matroska_decode_buffer),
(gst_matroska_demux_parse_blockgroup_or_simpleblock),
(gst_matroska_demux_parse_cluster),
(gst_matroska_demux_parse_contents_seekentry),
(gst_matroska_demux_loop_stream_parse_id),
(gst_matroska_demux_loop), (gst_matroska_demux_video_caps),
(gst_matroska_demux_audio_caps),
(gst_matroska_demux_subtitle_caps):
* gst/matroska/matroska-demux.h:
* gst/matroska/matroska-ids.c:
(gst_matroska_track_init_subtitle_context):
* gst/matroska/matroska-ids.h:
* gst/matroska/matroska-mux.c: (gst_matroska_mux_base_init),
(gst_matroska_mux_class_init), (gst_matroska_mux_init),
(gst_matroska_mux_create_uid), (gst_matroska_mux_reset),
(gst_matroska_mux_video_pad_setcaps),
(gst_matroska_mux_audio_pad_setcaps),
(gst_matroska_mux_subtitle_pad_setcaps),
(gst_matroska_mux_request_new_pad),
(gst_matroska_mux_track_header), (gst_matroska_mux_start),
(gst_matroska_mux_write_simple_tag), (gst_matroska_mux_finish),
(gst_matroska_mux_write_data), (gst_matroska_mux_collected),
(gst_matroska_mux_set_property):
Add many FIXMEs/TODOs all over the matroska muxer and demuxer
elements, do some checks for valid values in the demuxer, handle
tracktimecodescale in the demuxer, set correct default values for all
settings in the demuxer, review and add all missing matroska
IDs and some more raw YUV formats, and some trivial cleanup.
2008-06-10 10:44:53 +00:00
Sebastian Dröge
636372f384 gst/matroska/ebml-write.c: Unref the write cache in finalize if it was set and add add "FIXME" to a comment that need...
Original commit message from CVS:
* gst/matroska/ebml-write.c: (gst_ebml_write_finalize),
(gst_ebml_write_set_cache):
Unref the write cache in finalize if it was set and add add "FIXME"
to a comment that needs it.
2008-06-04 07:36:07 +00:00
Mark Nauwelaerts
10f7a99f1a gst/matroska/matroska-demux.c: Convert subtitle palette info in VobSub private data from VobSub's (buggy) RGB to YUV.
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_push_dvd_clut_change_event):
Convert subtitle palette info in VobSub private data from VobSub's
(buggy) RGB to YUV.
2008-05-12 16:35:39 +00:00
Sjoerd Simons
1d00afde97 gst/matroska/matroska-mux.c: Update the track duration if the old one was invalid.
Original commit message from CVS:
Patch by: Sjoerd Simons <sjoerd at luon dot net>
* gst/matroska/matroska-mux.c: (gst_matroska_mux_collected):
Update the track duration if the old one was invalid.
Fixes bug #532117.
2008-05-08 08:15:34 +00:00
Mark Nauwelaerts
8f2a1c0b5f gst/matroska/matroska-demux.c: Fix open-ended seeks in matroskademux
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_handle_seek_event):
Fix open-ended seeks in matroskademux
Patch by: Mark Nauwelaerts <manauw skynet be>
Fixes: #526557
2008-04-14 13:38:32 +00:00
Jan Schmidt
0db4cb524f gst/matroska/: Fix the Forte build by making function declaration signatures match the implementations.
Original commit message from CVS:
* gst/matroska/ebml-read.c: (gst_ebml_read_seek):
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_handle_seek_event),
(gst_matroska_demux_parse_contents_seekentry),
(gst_matroska_demux_loop):
Fix the Forte build by making function declaration signatures
match the implementations.
2008-04-09 12:02:55 +00:00
Sebastian Dröge
8342c0cc96 gst/matroska/ebml-ids.h: Add ID for EBML CRC32 elements.
Original commit message from CVS:
* gst/matroska/ebml-ids.h:
Add ID for EBML CRC32 elements.
* gst/matroska/Makefile.am:
* gst/matroska/ebml-read.c: (gst_ebml_finalize),
(gst_ebml_read_class_init), (gst_ebml_read_peek_bytes),
(gst_ebml_read_get_length), (_ext2dbl), (gst_ebml_read_float),
(gst_ebml_read_header):
Support reading 80bit floats, add finalize method to clean up
in any case, support reading length/id elements with any length
as long as it's smaller than our supported maximum, don't leak
buffers if reading as much data as we wanted failed and some
smaller cleanup.
2008-03-08 04:40:32 +00:00
Wim Taymans
1e61eb7e5f gst/matroska/: Handle return values from pull_range in a more granular way to properly shut down on seeks.
Original commit message from CVS:
* gst/matroska/ebml-read.c: (gst_ebml_read_peek_bytes),
(gst_ebml_read_pull_bytes), (gst_ebml_read_element_id),
(gst_ebml_read_element_length), (gst_ebml_peek_id),
(gst_ebml_read_skip), (gst_ebml_read_buffer),
(gst_ebml_read_bytes), (gst_ebml_read_uint), (gst_ebml_read_sint),
(gst_ebml_read_float), (gst_ebml_read_ascii), (gst_ebml_read_utf8),
(gst_ebml_read_date), (gst_ebml_read_master),
(gst_ebml_read_binary), (gst_ebml_read_header):
* gst/matroska/ebml-read.h:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_combine_flows), (gst_matroska_demux_reset),
(gst_matroska_demux_read_track_encodings),
(gst_matroska_demux_add_stream),
(gst_matroska_demux_handle_src_query),
(gst_matroska_demux_handle_seek_event),
(gst_matroska_demux_init_stream),
(gst_matroska_demux_parse_tracks),
(gst_matroska_demux_parse_index_cuetrack),
(gst_matroska_demux_parse_index_pointentry),
(gst_matroska_demux_parse_index), (gst_matroska_demux_parse_info),
(gst_matroska_demux_parse_metadata_id_simple_tag),
(gst_matroska_demux_parse_metadata_id_tag),
(gst_matroska_demux_parse_metadata),
(gst_matroska_demux_sync_streams),
(gst_matroska_demux_push_hdr_buf),
(gst_matroska_demux_push_flac_codec_priv_data),
(gst_matroska_demux_push_xiph_codec_priv_data),
(gst_matroska_demux_add_wvpk_header),
(gst_matroska_demux_check_subtitle_buffer),
(gst_matroska_demux_parse_blockgroup_or_simpleblock),
(gst_matroska_demux_parse_cluster),
(gst_matroska_demux_parse_contents_seekentry),
(gst_matroska_demux_parse_contents),
(gst_matroska_demux_loop_stream_parse_id),
(gst_matroska_demux_loop_stream), (gst_matroska_demux_loop):
* gst/matroska/matroska-demux.h:
* gst/matroska/matroska-ids.h:
Handle return values from pull_range in a more granular way to properly
shut down on seeks.
Combine return values from push.
Implement proper error handling.
Prepare for handling seeking correctly.
2008-03-06 19:47:48 +00:00
Jan Schmidt
edda3b6c0f gst/matroska/ebml-read.c: Use GINT64 formatting constants from GLIB.
Original commit message from CVS:
* gst/matroska/ebml-read.c:
Use GINT64 formatting constants from GLIB.
* gst/matroska/matroska-demux.c:
Add some guards to avoid a possible division by 0 and crashing
with NULL events on some systems.
Use gst_gdouble_to_guint64 somewhere instead of an implicit
conversion.
* gst/matroska/matroska-mux.c:
Check for invalid timestamps in a bunch of places to avoid
writing bogus durations into the output file.
Fix some double<->gint64 conversions that weren't using
gst_guint64_to_gdouble
2008-03-03 22:01:56 +00:00
David Schleef
a2104e0994 gst/matroska/: Fix Dirac mapping. I had previously added a VfW-type mapping, but it looks like Dirac will get a nati...
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
* gst/matroska/matroska-ids.h:
* gst/matroska/matroska-mux.c:
Fix Dirac mapping.  I had previously added a VfW-type
mapping, but it looks like Dirac will get a native Matroska
mapping, and this is the most likely method.
2008-02-29 06:18:55 +00:00
Julien Moutte
19a278f7d8 gst/matroska/matroska-demux.c: Flag keyframe and delta units correctly when dealign with a
Original commit message from CVS:
2008-02-08  Julien Moutte  <julien@fluendo.com>

* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_blockgroup_or_simpleblock): Flag
keyframe and delta units correctly when dealign with a
BlockGroup.
Fixes: #514397
2008-02-08 15:20:31 +00:00
Bjarne Rosengren
639b1183b4 gst/matroska/ebml-write.c: Don't leak buffers when we don't push them downstream.
Original commit message from CVS:
Patch by: Bjarne Rosengren <bjarne at axis dot com>
* gst/matroska/ebml-write.c: (gst_ebml_write_element_push):
Don't leak buffers when we don't push them downstream.
Fixes bug #514965.
2008-02-07 16:38:55 +00:00
Tim-Philipp Müller
a895112c29 gst/matroska/matroska-mux.c: Also fix up pad templates to indicate that image/jpeg doesn't absolutely require the fra...
Original commit message from CVS:
* gst/matroska/matroska-mux.c: (COMMON_VIDEO_CAPS_NO_FRAMERATE),
(videosink_templ):
Also fix up pad templates to indicate that image/jpeg doesn't
absolutely require the framerate property to be set (#504081).
2008-01-08 20:03:30 +00:00
Wouter Cloetens
0a3ae38bf0 gst/matroska/matroska-mux.*: Keep track of first and last timestamps for each incoming stream, so we can calculate th...
Original commit message from CVS:
Based on patch by: Wouter Cloetens  <wouter at mind be>
* gst/matroska/matroska-mux.c: (gst_matroska_mux_video_pad_setcaps),
(gst_matroska_mux_request_new_pad), (gst_matroska_mux_release_pad),
(gst_matroska_mux_finish), (gst_matroska_mux_collected):
* gst/matroska/matroska-mux.h:
Keep track of first and last timestamps for each incoming stream,
so we can calculate the total duration for live sources and other
input where we can't query the duration from the start or where
there's no constant framerate from which we can deduce the
duration; also use calculated/observed duration if it is bigger
than the previously queried duration. Furthermore, use
gst_pad_query_peer_duration() and take into account that it may
return TRUE but still a duration of CLOCK_TIME_NONE, which easily
screws up comparisons when using unsigned integers. Fixes #504081.
2008-01-08 19:57:23 +00:00
Mark Nauwelaerts
711afebc9f gst/matroska/: Extract palette data for dvd subpicture streams and send it downstream as custom gstreamer dvd event (...
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw skynet be>
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_push_dvd_clut_change_event),
(gst_matroska_demux_parse_blockgroup_or_simpleblock),
(gst_matroska_demux_subtitle_caps):
* gst/matroska/matroska-ids.h:
Extract palette data for dvd subpicture streams and send it
downstream as custom gstreamer dvd event (fixes #453417).
2007-11-13 17:01:07 +00:00
Tim-Philipp Müller
c57ce8b9d5 gst/matroska/matroska-demux.c: Fix setting the discont flag on the first buffer pushed downstream for formats with pr...
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
Fix setting the discont flag on the first buffer
pushed downstream for formats with private codec
data that needs to be deserialised into buffers
(such as vorbis and FLAC when in a matroska container).
2007-09-27 15:00:30 +00:00
Tim-Philipp Müller
09c161dac1 Fix build against core CVS.
Original commit message from CVS:
* ext/cairo/gsttimeoverlay.c: (gst_cairo_time_overlay_transform):
* ext/jpeg/gstjpegenc.c: (gst_jpegenc_chain):
* ext/libpng/gstpngenc.c: (gst_pngenc_chain):
* ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_chain):
* gst/debug/gstnavigationtest.c: (gst_navigationtest_transform):
* gst/effectv/gstaging.c: (gst_agingtv_transform):
* gst/effectv/gstdice.c: (gst_dicetv_transform):
* gst/effectv/gstedge.c: (gst_edgetv_transform):
* gst/effectv/gstquark.c: (gst_quarktv_transform):
* gst/effectv/gstrev.c: (gst_revtv_transform):
* gst/effectv/gstshagadelic.c: (gst_shagadelictv_transform):
* gst/effectv/gstvertigo.c: (gst_vertigotv_transform):
* gst/effectv/gstwarp.c: (gst_warptv_transform):
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_add_wvpk_header),
(gst_matroska_demux_check_subtitle_buffer),
(gst_matroska_decode_buffer):
* gst/videofilter/gstvideoflip.c: (gst_video_flip_transform):
Fix build against core CVS.
2007-07-11 22:31:06 +00:00
Tim-Philipp Müller
5d78ae0a1c gst/matroska/Makefile.am: If zlib is available and used, we must link it explicitly for things to work on MingW (fixe...
Original commit message from CVS:
* gst/matroska/Makefile.am:
If zlib is available and used, we must link it explicitly for
things to work on MingW (fixes #392855).
2007-01-05 17:23:04 +00:00
Tim-Philipp Müller
7735292ec2 gst/matroska/matroska-mux.c: The "signed" field in audio caps is of boolean type, trying to use gst_structure_get_int...
Original commit message from CVS:
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_audio_pad_setcaps):
The "signed" field in audio caps is of boolean type, trying to use
gst_structure_get_int() to extract it will fail. Fixing this makes
matroskamux accept raw audio input (#387121) (use at your own risk
though, due to the matroska spec being not entirely useful in this
respect).
Also fix up raw audio structures in template caps so that they
represent what our setcaps function will actually accept, so that
converters know what to convert to.
Finally, don't fail if there isn't an "endianness" field in 8-bit
PCM caps.
2006-12-24 11:24:59 +00:00
Tim-Philipp Müller
0d3b023699 gst/matroska/: Try harder to extract the framerate for video tracks correctly and save it directly instead of convert...
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream),
(gst_matroska_demux_video_caps):
* gst/matroska/matroska-ids.c:
(gst_matroska_track_init_video_context):
* gst/matroska/matroska-ids.h:
Try harder to extract the framerate for video tracks correctly and
save it directly instead of converting it back and forth a few
times. Mostly makes a difference for very small framerates (<1).
Fixes #380199.
2006-12-11 13:59:33 +00:00
Tim-Philipp Müller
f441440a43 gst/matroska/matroska-mux.c: Use GST_DEBUG_FUNCPTR; activate request pad before returning it.
Original commit message from CVS:
* gst/matroska/matroska-mux.c: (gst_matroska_mux_class_init),
(gst_matroska_mux_request_new_pad):
Use GST_DEBUG_FUNCPTR; activate request pad before returning it.
* tests/check/elements/matroskamux.c: (setup_src_pad),
(setup_sink_pad), (GST_START_TEST):
Activate pads before using them.
2006-11-16 15:36:48 +00:00
Mark Nauwelaerts
5c446dc4f5 gst/matroska/matroska-mux.*: Add basic tag writing support; implement releasing pads (#374658).
Original commit message from CVS:
Patch by: Mark Nauwelaerts  <manauw at skynet be>
* gst/matroska/matroska-mux.c: (gst_matroska_mux_add_interfaces),
(gst_matroska_mux_class_init), (gst_matroska_pad_free),
(gst_matroska_mux_reset), (gst_matroska_mux_handle_sink_event),
(gst_matroska_mux_request_new_pad), (gst_matroska_mux_release_pad),
(gst_matroska_mux_track_header), (gst_matroska_mux_start),
(gst_matroska_mux_write_simple_tag), (gst_matroska_mux_finish):
* gst/matroska/matroska-mux.h:
Add basic tag writing support; implement releasing pads (#374658).
2006-11-15 12:08:20 +00:00
Tim-Philipp Müller
f5dda5f00b gst/matroska/matroska-demux.c: Handle opaque/unspecified A_AAC audio codec ID (fixes #374737).
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream),
(gst_matroska_demux_audio_caps):
Handle opaque/unspecified A_AAC audio codec ID (fixes #374737).
2006-11-15 11:19:13 +00:00
David Schleef
4207d2fe74 gst/matroska/matroska-mux.c: Add Dirac fourcc.
Original commit message from CVS:
* gst/matroska/matroska-mux.c: Add Dirac fourcc.
2006-11-15 00:12:19 +00:00
Michal Benes
737df8258b gst/matroska/matroska-demux.c: Fix several issues with encoded/compressed/encrypted/signed tracks; also, remove super...
Original commit message from CVS:
Patch by: Michal Benes  <michal dot benes at itonis tv>
* gst/matroska/matroska-demux.c: (gst_matroska_demux_encoding_cmp),
(gst_matroska_demux_read_track_encodings),
(gst_matroska_decode_buffer):
Fix several issues with encoded/compressed/encrypted/signed tracks;
also, remove superfluous newline characters from some debug
statements. (#366155)
2006-10-30 16:18:18 +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
Frédéric Riss
92753a26de gst/matroska/: Add support for VOBSUB subtitle tracks and zlib-compressed tracks. Make sure we start on a keyframe af...
Original commit message from CVS:
Patch by: Frédéric Riss  <frederic.riss at gmail dot com>
* gst/matroska/matroska-demux.c: (gst_matroska_track_free),
(gst_matroska_demux_reset),
(gst_matroska_demux_read_track_encodings),
(gst_matroska_demux_add_stream), (gst_matroska_decode_buffer),
(gst_matroska_demux_parse_blockgroup_or_simpleblock),
(gst_matroska_demux_subtitle_caps):
* gst/matroska/matroska-ids.h:
Add support for VOBSUB subtitle tracks and zlib-compressed
tracks. Make sure we start on a keyframe after a seek. (#343348)
2006-09-04 16:21:17 +00:00
Tim-Philipp Müller
a0fa3b2917 gst/matroska/: not perfect yet though, needs some tweaking in flacdec; also, seeking could be better.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_push_hdr_buf),
(gst_matroska_demux_push_flac_codec_priv_data),
(gst_matroska_demux_push_xiph_codec_priv_data),
(gst_matroska_demux_parse_blockgroup_or_simpleblock),
(gst_matroska_demux_video_caps), (gst_matroska_demux_audio_caps):
* gst/matroska/matroska-ids.h:
Add basic FLAC support (#311586), not perfect yet though, needs some
tweaking in flacdec; also, seeking could be better.
Do better bounds checking when deserialising vorbis stream headers
to make sure we don't read beyond the end of the buffer on bad input.
2006-09-04 15:06:25 +00:00
Tim-Philipp Müller
62487ce3b5 gst/matroska/: Send tag event after newsegment event.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream),
(gst_matroska_demux_send_event),
(gst_matroska_demux_loop_stream_parse_id):
* gst/matroska/matroska-ids.h:
Send tag event after newsegment event.
2006-06-29 11:41:55 +00:00
Tim-Philipp Müller
45c10ca9de gst/matroska/: Try to fix up broken matroska files containing subtitle streams with non-UTF8 character encodings (cou...
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_check_subtitle_buffer),
(gst_matroska_demux_parse_blockgroup_or_simpleblock),
(gst_matroska_demux_subtitle_caps):
* gst/matroska/matroska-ids.c:
(gst_matroska_track_init_subtitle_context):
* gst/matroska/matroska-ids.h:
Try to fix up broken matroska files containing subtitle
streams with non-UTF8 character encodings (courtesy of
mkvmerge) using either the encoding specified in the
GST_SUBTITLE_ENCODING environment variable or the
current locale's character set if it is non-UTF8.
Fixes #337076.
2006-06-22 16:27:03 +00:00
Tim-Philipp Müller
40131326b3 gst/matroska/matroska-demux.c: No language specified means the implied language is English according to the matroska ...
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream):
No language specified means the implied language is English
according to the matroska spec (partially fixes #344708);
add some more debug output.
2006-06-14 11:28:41 +00:00
Stefan Kost
1def669c0e Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
Original commit message from CVS:
* ext/aalib/gstaasink.h:
* ext/annodex/gstcmmldec.h:
* ext/cairo/gsttimeoverlay.h:
* ext/dv/gstdvdec.h:
* ext/dv/gstdvdemux.h:
* ext/esd/esdmon.h:
* ext/esd/esdsink.h:
* ext/flac/gstflacenc.h:
* ext/gconf/gstgconfaudiosink.h:
* ext/gconf/gstgconfaudiosrc.h:
* ext/gconf/gstgconfvideosink.h:
* ext/gconf/gstgconfvideosrc.h:
* ext/gdk_pixbuf/gstgdkanimation.h:
* ext/gdk_pixbuf/pixbufscale.h:
* ext/hal/gsthalaudiosink.h:
* ext/hal/gsthalaudiosrc.h:
* ext/jpeg/gstjpegenc.h:
* ext/jpeg/gstsmokedec.h:
* ext/jpeg/gstsmokeenc.h:
* ext/libcaca/gstcacasink.h:
* ext/libmng/gstmngdec.h:
* ext/libmng/gstmngenc.h:
* ext/libpng/gstpngdec.h:
* ext/libpng/gstpngenc.h:
* ext/raw1394/gstdv1394src.h:
* ext/speex/gstspeexenc.h:
* gst/autodetect/gstautoaudiosink.h:
* gst/autodetect/gstautovideosink.h:
* gst/avi/gstavidemux.h:
* gst/cutter/gstcutter.h:
* gst/debug/efence.h:
* gst/debug/gstnavigationtest.h:
* gst/debug/gstnavseek.h:
* gst/flx/gstflxdec.h:
* gst/goom/gstgoom.h:
* gst/icydemux/gsticydemux.h:
* gst/id3demux/gstid3demux.h:
* gst/law/alaw-decode.h:
* gst/law/alaw-encode.h:
* gst/law/mulaw-decode.h:
* gst/law/mulaw-encode.h:
* gst/matroska/matroska-mux.h:
* gst/median/gstmedian.h:
* gst/oldcore/gstaggregator.h:
* gst/oldcore/gstfdsink.h:
* gst/oldcore/gstmd5sink.h:
* gst/oldcore/gstmultifilesrc.h:
* gst/oldcore/gstpipefilter.h:
* gst/oldcore/gstshaper.h:
* gst/oldcore/gststatistics.h:
* gst/rtp/gstasteriskh263.h:
* gst/rtp/gstrtpL16depay.h:
* gst/rtp/gstrtpL16pay.h:
* gst/rtp/gstrtpamrdepay.h:
* gst/rtp/gstrtpamrpay.h:
* gst/rtp/gstrtpdepay.h:
* gst/rtp/gstrtpgsmdepay.h:
* gst/rtp/gstrtpgsmpay.h:
* gst/rtp/gstrtph263pay.h:
* gst/rtp/gstrtph263pdepay.h:
* gst/rtp/gstrtph263ppay.h:
* gst/rtp/gstrtpmp4gpay.h:
* gst/rtp/gstrtpmp4vdepay.h:
* gst/rtp/gstrtpmp4vpay.h:
* gst/rtp/gstrtpmpadepay.h:
* gst/rtp/gstrtpmpapay.h:
* gst/rtp/gstrtppcmadepay.h:
* gst/rtp/gstrtppcmapay.h:
* gst/rtp/gstrtppcmudepay.h:
* gst/rtp/gstrtppcmupay.h:
* gst/rtp/gstrtpspeexdepay.h:
* gst/rtp/gstrtpspeexpay.h:
* gst/rtsp/gstrtpdec.h:
* gst/rtsp/gstrtspsrc.h:
* gst/smpte/gstsmpte.h:
* gst/udp/gstdynudpsink.h:
* gst/udp/gstmultiudpsink.h:
* gst/udp/gstudpsink.h:
* gst/udp/gstudpsrc.h:
* gst/videofilter/gstvideobalance.h:
* gst/videofilter/gstvideoflip.h:
* sys/oss/gstossdmabuffer.h:
* sys/oss/gstossmixerelement.h:
* sys/oss/gstosssink.h:
* sys/oss/gstosssrc.h:
* sys/osxvideo/osxvideosink.h:
* sys/sunaudio/gstsunaudiomixer.h:
* sys/sunaudio/gstsunaudiosink.h:
* sys/ximage/gstximagesrc.h:
Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
2006-06-01 21:07:26 +00:00
Mark Nauwelaerts
d4e266cd6d gst/matroska/matroska-mux.c: gst_collect_pads_stop() needs to be called before chaining up to the parent class (#3427...
Original commit message from CVS:
Patch by: Mark Nauwelaerts  <manauw at skynet be>
* gst/matroska/matroska-mux.c: (gst_matroska_mux_change_state):
gst_collect_pads_stop() needs to be called before chaining up
to the parent class (#342734).
2006-05-23 20:15:04 +00:00
Tim-Philipp Müller
4e012bac91 gst/matroska/: Add support for muxing/demuxing theora video (#342448; too bad none of the usual linux players can act...
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream),
(gst_matroska_demux_push_xiph_codec_priv_data),
(gst_matroska_demux_parse_blockgroup_or_simpleblock),
(gst_matroska_demux_video_caps), (gst_matroska_demux_audio_caps):
* gst/matroska/matroska-ids.h:
* gst/matroska/matroska-mux.c: (gst_matroska_mux_base_init),
(gst_matroska_mux_video_pad_setcaps),
(xiph3_streamheader_to_codecdata),
(vorbis_streamheader_to_codecdata),
(theora_streamheader_to_codecdata),
(gst_matroska_mux_audio_pad_setcaps),
(gst_matroska_mux_write_data):
Add support for muxing/demuxing theora video (#342448; too bad
none of the usual linux players can actually play this). Playback
in GStreamer will require additional changes to theoradec in -base.
Refactor streamheaders <=> CodecPrivateData code a bit; some small
cleanups.
2006-05-23 13:44:11 +00:00
Jindrich Makovicka
14ea3f13a4 gst/matroska/ebml-read.c: Don't create unnecessary sub-buffers all the time. Dramatically improves performance with m...
Original commit message from CVS:
Patch by: Jindrich Makovicka  <jindrich.makivicka at itonis tv>
* gst/matroska/ebml-read.c: (gst_ebml_read_peek_bytes),
(gst_ebml_read_pull_bytes), (gst_ebml_read_element_id),
(gst_ebml_read_element_length), (gst_ebml_read_buffer),
(gst_ebml_read_bytes), (gst_ebml_read_uint), (gst_ebml_read_sint),
(gst_ebml_read_float), (gst_ebml_read_ascii),
(gst_ebml_read_binary):
Don't create unnecessary sub-buffers all the time. Dramatically
improves performance with multiple concurrently running
matroskademux instances (#341818) (and avoids doing
unnecessarily inefficient things in the general case).
2006-05-17 08:10:31 +00:00
Maciej Katafiasz
be7d42b548 Add semicolons after GST_BOILERPLATE[_FULL] so that indent doesn't mess up following lines.
Original commit message from CVS:
Add semicolons after GST_BOILERPLATE[_FULL] so that indent doesn't mess up following lines.
2006-05-06 00:14:09 +00:00
Michal Benes
706c907277 gst/matroska/matroska-demux.c: Don't leak caps when freeing the stream context (#340623).
Original commit message from CVS:
Patch by: Michal Benes  <michal dot benes at xeris dot cz>
* gst/matroska/matroska-demux.c: (gst_matroska_demux_reset):
Don't leak caps when freeing the stream context (#340623).
2006-05-04 17:27:27 +00:00
Tim-Philipp Müller
63b169cdf1 gst/matroska/matroska-mux.c: Don't strcmp() NULL strings.
Original commit message from CVS:
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_stream_is_vorbis_header),
(gst_matroska_mux_write_data):
Don't strcmp() NULL strings.
Only start new clusters on video keyframes, not on any
random audio buffer that doesn't have the DELTA_UNIT
flag set (fixes 'make check' again).
2006-05-03 18:41:47 +00:00
Mark Nauwelaerts
fcd464ea30 gst/matroska/matroska-mux.c: Don't misinterpret GST_CLOCK_TIME_NONE as very high timestamp value and then dead-lock w...
Original commit message from CVS:
Patch by: Mark Nauwelaerts  <manauw at skynet be>
* gst/matroska/matroska-mux.c: (gst_matroska_mux_best_pad),
(gst_matroska_mux_stream_is_vorbis_header),
(gst_matroska_mux_write_data):
Don't misinterpret GST_CLOCK_TIME_NONE as very high timestamp
value and then dead-lock when muxing vorbis audio streams
(the three vorbis header buffers carry no timestamp, and it
would try to mux these after all video buffers). Fixes #340346.
Improve clustering: start a new cluster also whenever we get
a keyframe.
2006-05-03 14:51:50 +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
Tim-Philipp Müller
da34723a6b gst/matroska/: Handle case where the TrackType ebml chunk does not come before the
Original commit message from CVS:
* gst/matroska/Makefile.am:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream),
(gst_matroska_demux_handle_src_event):
* gst/matroska/matroska-ids.c:
(gst_matroska_track_init_video_context),
(gst_matroska_track_init_audio_context),
(gst_matroska_track_init_subtitle_context),
(gst_matroska_track_init_complex_context):
* gst/matroska/matroska-ids.h:
Handle case where the TrackType ebml chunk does not come before the
TrackInfoAudio or TrackInfoVideo ebml chunk (#339446). Ignore QoS
events.
2006-04-25 16:38:50 +00:00
Mark Nauwelaerts
a0b8e8176a gst/matroska/matroska-demux.c: Handle codec_data for VfW compatibility codec IDs (#339451)
Original commit message from CVS:
Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
* gst/matroska/matroska-demux.c: (gst_matroska_demux_video_caps):
Handle codec_data for VfW compatibility codec IDs (#339451)
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_video_pad_setcaps):
Same here, handle codec_data and add additional caps we can handle
now to the pad template (huffyuv, dv and h263 video) (#339451)
2006-04-25 11:45:00 +00:00
Josef Zlomek
2e1a9a0472 gst/matroska/matroska-mux.c: Fix timestamping of B-frames, use signed integers, do some rounding (#339678).
Original commit message from CVS:
Patch by: Josef Zlomek  <josef dot zlomek at itonis dot tv>
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_create_buffer_header),
(gst_matroska_mux_write_data):
Fix timestamping of B-frames, use signed integers, do
some rounding (#339678).
2006-04-25 11:09:24 +00:00
Sébastien Moutte
0ba1bac264 gst/matroska/matroska-demux.c: Fix a bad conversion using gst_guint64_to_gdouble. fabs ((gdouble) demux->index[entry]...
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroskademux_do_index_seek):
Fix a bad conversion using gst_guint64_to_gdouble.
fabs ((gdouble) demux->index[entry].time - (gdouble) seek_pos) can not be
replaced by fabs (gst_guint64_to_gdouble (demux->index[entry].time - seek_pos)) as the
difference could be negative. fabs (gst_guint64_to_gdouble (demux->index[entry].time) -
gst_guint64_to_gdouble (seek_pos)) is the good solution. Thanks to Tim who has seen my
mistake.
2006-04-23 15:55:30 +00:00
Sébastien Moutte
b58a224cd1 gst/matroska/matroska-demux.c: Use gst_guint64_to_gdouble for conversions
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroskademux_do_index_seek):
Use gst_guint64_to_gdouble for conversions
* win32/vs6/gst_plugins_good.dsw:
* win32/vs6/libgsticydemux.dsp:
Add a project file for icydemux
2006-04-22 15:32:48 +00:00
Tim-Philipp Müller
857f6cf2a8 gst/matroska/: Set DISCONT flag on first buffer after a discontinuity.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream),
(gst_matroskademux_do_index_seek),
(gst_matroska_demux_handle_seek_event),
(gst_matroska_demux_parse_blockgroup_or_simpleblock):
* gst/matroska/matroska-ids.h:
Set DISCONT flag on first buffer after a discontinuity.
Fix newsegment events sent when seeking and honour KEY_UNIT
seek flag. Create pad with bogus caps if we don't recognise
the stream codec id.
* gst/matroska/matroska-demux.h:
Fix GObject macros.
2006-04-20 13:23:40 +00:00
Mark Nauwelaerts
a0522c2394 gst/matroska/matroska-demux.c: Handle end of segment properly when set; don't dead-lock when posting start of segment...
Original commit message from CVS:
Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_handle_seek_event), (gst_matroska_demux_loop):
Handle end of segment properly when set; don't dead-lock when
posting start of segment message when doing a segment seek.
Fixes #338810.
2006-04-20 11:00:16 +00:00
Tim-Philipp Müller
ed58a212ff gst/matroska/matroska-demux.c: Make mpeg2 aac audio work: create artificial private codec data chunk which faad2 seem...
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_audio_caps),
(gst_matroska_demux_plugin_init):
Make mpeg2 aac audio work: create artificial private codec data
chunk which faad2 seems to require, just as we do for mpeg4 aac.
Also call gst_riff_init(). Partially fixes #338767.
2006-04-20 09:11:22 +00:00
Tim-Philipp Müller
f0b8ef9f38 gst/matroska/ebml-read.c: Don't try to modify read-only data.
Original commit message from CVS:
* gst/matroska/ebml-read.c: (gst_ebml_read_sint):
Don't try to modify read-only data.
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_blockgroup_or_simpleblock):
Fix comment (won't crash any longer now).
2006-04-10 16:09:03 +00:00
Tim-Philipp Müller
2fb7648fbe gst/matroska/matroska-demux.c: Use static pad templates with ANY caps for audio and video source pads and get rid of ...
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_base_init),
(gst_matroska_demux_handle_seek_event),
(gst_matroska_demux_video_caps), (gst_matroska_demux_audio_caps),
(gst_matroska_demux_subtitle_caps),
(gst_matroska_demux_plugin_init):
Use static pad templates with ANY caps for audio and video
source pads and get rid of a lot of unnecessary (and partially
broken) code for the template caps. Clean up caps finding
functions. Fixes playback of audio files/streams that do not
contain the sample rate and/or number of channels in the audio
context (happens a lot with vorbis/mp3 .mka files it seems).
Fixes #337183.
Also add myself to copyright holders.
2006-04-10 15:43:54 +00:00
Tim-Philipp Müller
f66a4fbe55 gst/matroska/ebml-read.c: Even better would be if we actually did the right thing here (also, G_GUINT64_CONSTANT only...
Original commit message from CVS:
* gst/matroska/ebml-read.c: (gst_ebml_read_sint):
Even better would be if we actually did the right thing
here (also, G_GUINT64_CONSTANT only exists since GLib-2.10).
2006-04-09 14:00:32 +00:00
Tim-Philipp Müller
bcbc2b2b98 gst/matroska/ebml-read.c: Can't just replace 1LL with 1L here just because MSVC doesn't support it, as it might lead ...
Original commit message from CVS:
* gst/matroska/ebml-read.c: (gst_ebml_read_sint):
Can't just replace 1LL with 1L here just because MSVC doesn't
support it, as it might lead to incorrect results when doing the
bitshifting here. Using GLib's G_GUINT64_CONSTANT() macro to
force a 64-bit constant in a way that all compilers are happy with.
2006-04-09 13:52:03 +00:00
Stefan Kost
1e777109e8 Fix broken GObject macros
Original commit message from CVS:
* ext/annodex/gstcmmldec.h:
* ext/annodex/gstcmmlenc.h:
* ext/annodex/gstcmmltag.h:
* ext/cairo/gsttextoverlay.h:
* ext/ladspa/gstsignalprocessor.h:
* gst/matroska/ebml-read.h:
* gst/matroska/ebml-write.h:
* sys/osxaudio/gstosxaudioelement.h:
Fix broken GObject macros
2006-04-08 18:25:55 +00:00
Thomas Vander Stichele
c3141ee26c configure.ac: clean up, use AS_VERSION and AS_NANO
Original commit message from CVS:

* configure.ac:
clean up, use AS_VERSION and AS_NANO
* gst/matroska/matroska-mux.c: (gst_matroska_mux_start):
use PACKAGE_VERSION define
* po/af.po:
* po/az.po:
* po/cs.po:
* po/en_GB.po:
* po/hu.po:
* po/it.po:
* po/nb.po:
* po/nl.po:
* po/or.po:
* po/sq.po:
* po/sr.po:
* po/sv.po:
* po/uk.po:
* po/vi.po:
updated
2006-04-01 09:56:45 +00:00
Sébastien Moutte
0debb1e9fc ext\jpeg\smokecodec.c: use of GST_DEBUG instead of DEBUG(a...) for WIN32
Original commit message from CVS:
* ext\jpeg\smokecodec.c:
use of GST_DEBUG instead of DEBUG(a...) for WIN32
* ext\speex\gstspeexenc.c: (gst_speexenc_set_header_on_caps):
move first instruction after all variables declarations
* gst\alpha\gstalpha.c:
* gst\effectv\gstshagadelic.c:
* gst\smpte\paint.c:
* gst\videofilter\gstvideobalance.c:
define M_PI if it's not defined (it's not defined on WIN32)
* gst\cutter\gstcutter.c: (gst_cutter_chain):
* gst\id3demux\id3v2frames.c: (parse_relative_volume_adjustment_two):
* gst\level\gstlevel.c: (gst_level_set_property), (gst_level_transform_ip):
* gst\matroska\matroska-demux.c: (gst_matroska_demux_parse_info),
(gst_matroska_demux_video_caps):
* gst\matroska\matroska-mux.c: (gst_matroska_mux_start), (gst_matroska_mux_finish):
* gst\wavparse\gstwavparse.c: (gst_wavparse_stream_data):
use gst_guint64_to_gdouble for conversions
* gst\goom\filters.c: (setPixelRGB_):
fix a debug which was using undefined variable
* gst\level\gstlevel.c: (gst_level_set_caps), (gst_level_transform_ip):
* gst\matroska\ebml-read.c: (gst_ebml_read_sint):
replace LL suffix with L suffix (LL isn't supported by MSVC6.0)
* win32/vs6:
add vs6 projects files for most of plugins-good
2006-03-30 23:37:16 +00:00
Wim Taymans
629fb234a0 better/unified long descriptions
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/esd/esdmon.c:
* ext/esd/esdsink.c:
* ext/flac/gstflacdec.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/gstgdkpixbuf.c:
* 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:
* ext/speex/gstspeexdec.c:
* ext/speex/gstspeexenc.c:
* gst/alpha/gstalpha.c:
* gst/alpha/gstalphacolor.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/gstavimux.c: (gst_avimux_base_init):
* gst/cutter/gstcutter.c:
* gst/debug/breakmydata.c:
* gst/debug/efence.c:
* gst/debug/gstnavigationtest.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/gstvertigo.c:
* gst/effectv/gstwarp.c:
* gst/flx/gstflxdec.c:
* gst/goom/gstgoom.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/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/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/smpte/gstsmpte.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/wavenc/gstwavenc.c:
* gst/wavparse/gstwavparse.c: (gst_wavparse_base_init):
better/unified long descriptions
Fixed #336602
Some cleanups to auparse, don't send multiple newsegments.
2006-03-30 15:37:05 +00:00
Stefan Kost
24461755be gst/: use DEBUG_FUNCPTR for collectpads
Original commit message from CVS:
* gst/matroska/matroska-mux.c: (gst_matroska_mux_init):
* gst/multipart/multipartmux.c: (gst_multipart_mux_init):
* gst/smpte/gstsmpte.c: (gst_smpte_init):
* gst/videomixer/videomixer.c: (gst_videomixer_init):
use DEBUG_FUNCPTR for collectpads
2006-03-24 17:11:56 +00:00
Jan Schmidt
d2d26594f9 gst/matroska/ebml-write.c: Ensure that we set correct caps on buffers that are transferred direct from the input.
Original commit message from CVS:
* gst/matroska/ebml-write.c: (gst_ebml_write_element_push):
Ensure that we set correct caps on buffers that are transferred
direct from the input.
2006-03-20 18:34:21 +00:00
Tim-Philipp Müller
d9f6178249 gst/matroska/: Recognise SSA/ASS and USF subtitle formats and set proper caps when they are found.
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_subtitle_caps),
(gst_matroska_demux_plugin_init):
* gst/matroska/matroska-ids.h:
Recognise SSA/ASS and USF subtitle formats and
set proper caps when they are found.
2006-02-18 17:20:48 +00:00
Tim-Philipp Müller
7e62fb832c gst/matroska/matroska-demux.c: Advance stream time for lagging subtitle streams by sending newsegment events with the...
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_sync_streams):
Advance stream time for lagging subtitle streams by sending
newsegment events with the update flag set.
2006-02-14 23:23:08 +00:00
Tim-Philipp Müller
dce4937fb1 gst/matroska/ebml-write.*: Make sure we send a newsegment event in BYTES format before sending buffers (#328531).
Original commit message from CVS:
* gst/matroska/ebml-write.c: (gst_ebml_write_reset),
(gst_ebml_write_flush_cache), (gst_ebml_write_element_push),
(gst_ebml_write_seek):
* gst/matroska/ebml-write.h:
Make sure we send a newsegment event in BYTES format
before sending buffers (#328531).
2006-02-06 14:25:34 +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
Edgard Lima
789a7b20ac Just make it compile with --disable-gst-debug.
Original commit message from CVS:
Just make it compile with --disable-gst-debug.
2006-02-03 18:07:35 +00:00
Edward Hervey
593a09066d gst/matroska/: Added recognition of Real Audio and Video streams in matroska demuxer.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_video_caps),
(gst_matroska_demux_audio_caps), (gst_matroska_demux_plugin_init):
* gst/matroska/matroska-ids.h:
Added recognition of Real Audio and Video streams in matroska demuxer.
2006-01-23 18:39:31 +00:00
Tim-Philipp Müller
00c44209d8 gst/matroska/matroska-mux.c: Fix possible deadlock in matroska muxer (#327825).
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
* gst/matroska/matroska-mux.c: (gst_matroska_mux_best_pad),
(gst_matroska_mux_write_data), (gst_matroska_mux_collected):
Fix possible deadlock in matroska muxer (#327825).
2006-01-23 10:44:03 +00:00
Arwed v. Merkatz
fe8b19e160 Set correct timestamps on audio laces, fixes playback of mp3 from matroska.
Original commit message from CVS:
Set correct timestamps on audio laces, fixes playback of mp3 from matroska.
2005-12-12 18:14:58 +00:00
Thomas Vander Stichele
3ecf433432 expand tabs
Original commit message from CVS:
expand tabs
2005-12-06 19:44:58 +00:00
Andy Wingo
7fbfd29bbe Update for alloc_buffer changes.
Original commit message from CVS:
2005-12-05  Andy Wingo  <wingo@pobox.com>

* ext/dv/gstdvdec.c: (gst_dvdec_chain):
* ext/flac/gstflacdec.c: (gst_flacdec_write):
* ext/flac/gstflacenc.c: (gst_flacenc_write_callback):
* ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_chain):
* ext/gdk_pixbuf/pixbufscale.c: (gst_pixbufscale_chain):
* ext/jpeg/gstjpegdec.c: (gst_jpeg_dec_chain):
* ext/jpeg/gstjpegenc.c: (gst_jpegenc_chain):
* ext/ladspa/gstsignalprocessor.c: (gst_signal_processor_process):
* ext/libpng/gstpngdec.c: (user_info_callback), (gst_pngdec_task):
* ext/speex/gstspeexdec.c: (speex_dec_chain):
* ext/speex/gstspeexenc.c: (gst_speexenc_chain):
* gst/auparse/gstauparse.c: (gst_auparse_chain):
* gst/flx/gstflxdec.c: (gst_flxdec_chain):
* gst/goom/gstgoom.c: (gst_goom_chain):
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_push_vorbis_codec_priv_data),
(gst_matroska_demux_add_wvpk_header):
* gst/multipart/multipartdemux.c: (gst_multipart_demux_chain):
* gst/multipart/multipartmux.c: (gst_multipart_mux_collected):
* gst/videomixer/videomixer.c: (gst_videomixer_collected):
* gst/wavenc/gstwavenc.c: (gst_wavenc_chain): Update for
alloc_buffer changes.
2005-12-05 13:03:00 +00:00
Jan Schmidt
96d5f727fe gst/matroska/matroska-mux.c: Look for pixel-aspect-ratio in caps, not pixel_width and pixel_height (Fixes: #322645)
Original commit message from CVS:
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_video_pad_setcaps):
Look for pixel-aspect-ratio in caps, not pixel_width and
pixel_height (Fixes: #322645)
2005-11-28 15:13:22 +00:00
Jan Schmidt
bad1f0307a gst/matroska/matroska-mux.c: From Michal Benes: frame duration should be GST_SECOND / framerate, not
Original commit message from CVS:
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_video_pad_setcaps):
From Michal Benes:
frame duration should be GST_SECOND / framerate, not
GST_SECOND * framerate. (Fixes: #322643)
2005-11-28 12:59:05 +00:00
Jan Schmidt
48520a455d Fixes for API changes
Original commit message from CVS:
* ext/aalib/gstaasink.c: (gst_aasink_fixate):
* ext/cairo/gsttextoverlay.c: (gst_text_overlay_collected):
* gst/goom/gstgoom.c: (gst_goom_init), (gst_goom_src_setcaps),
(gst_goom_src_negotiate), (gst_goom_chain):
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_video_pad_setcaps):
* sys/osxvideo/osxvideosink.m:
Fixes for API changes
2005-11-23 14:22:18 +00:00
Jan Schmidt
11c39abc9a More fractional framerate conversions
Original commit message from CVS:
* ext/cairo/gsttextoverlay.c: (gst_text_overlay_init),
(gst_text_overlay_setcaps), (gst_text_overlay_collected):
* ext/cairo/gsttextoverlay.h:
* ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_sink_link):
* ext/gdk_pixbuf/gstgdkpixbuf.h:
* ext/libpng/gstpngdec.c: (gst_pngdec_init),
(gst_pngdec_caps_create_and_set):
* ext/libpng/gstpngdec.h:
* ext/libpng/gstpngenc.c: (gst_pngenc_setcaps):
* gst/alpha/gstalphacolor.c: (gst_alpha_color_set_caps):
* gst/avi/gstavimux.c: (gst_avimux_init),
(gst_avimux_vidsinkconnect):
* gst/flx/gstflxdec.c: (gst_flxdec_chain):
* gst/goom/gstgoom.c: (gst_goom_init), (gst_goom_src_setcaps),
(gst_goom_src_negotiate), (gst_goom_chain):
* gst/goom/gstgoom.h:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_video_caps):
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_video_pad_setcaps):
* sys/osxvideo/osxvideosink.h:
* sys/osxvideo/osxvideosink.m:
More fractional framerate conversions
2005-11-22 22:21:37 +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
Andy Wingo
0d470f58ca *.*: Ran scripts/update-macros. Oh yes.
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* *.h:
* *.c: Ran scripts/update-macros. Oh yes.
2005-11-21 16:36:05 +00:00
Tim-Philipp Müller
bba99aa3da gst/matroska/matroska-demux.c: Filler events are gone for now, comment out section generating them.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_sync_streams):
Filler events are gone for now, comment out section generating
them.
2005-11-21 15:06:35 +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
ded2471f23 Fix for collect pads API change. Also fix textoverlay state change function.
Original commit message from CVS:
* ext/cairo/gsttextoverlay.c: (gst_text_overlay_finalize),
(gst_text_overlay_init), (gst_text_overlay_text_pad_linked),
(gst_text_overlay_text_pad_unlinked), (gst_text_overlay_pop_video),
(gst_text_overlay_pop_text), (gst_text_overlay_collected),
(gst_text_overlay_change_state):
* gst/matroska/matroska-mux.c: (gst_matroska_mux_init),
(gst_matroska_mux_reset), (gst_matroska_mux_request_new_pad),
(gst_matroska_mux_best_pad), (gst_matroska_mux_change_state):
* gst/smpte/gstsmpte.c: (gst_smpte_init), (gst_smpte_collected):
* gst/videomixer/videomixer.c: (gst_videomixer_init),
(gst_videomixer_request_new_pad), (gst_videomixer_fill_queues),
(gst_videomixer_change_state):
Fix for collect pads API change. Also fix textoverlay state
change function.
2005-11-21 12:13:48 +00:00
Julien Moutte
7ab7f62dc2 gst/matroska/matroska-mux.c: Replace
Original commit message from CVS:
2005-11-20  Julien MOUTTE  <julien@moutte.net>

* gst/matroska/matroska-mux.c: (gst_matroska_mux_start): Replace
GST_PAD_IS_USABLE by something approaching it.
2005-11-20 17:04:55 +00:00
Julien Moutte
985daa9d64 gst/matroska/matroska-mux.c: Fix for
Original commit message from CVS:
2005-11-20  Julien MOUTTE  <julien@moutte.net>

* gst/matroska/matroska-mux.c: (gst_matroska_mux_start): Fix for
API changes.
* gst/wavenc/gstwavenc.c: (gst_wavenc_chain): Fix for API
changes,
but also fix the code that was not checking return values from
pad_push neither using pad_alloc_buffer.
2005-11-20 16:43:32 +00:00
Tim-Philipp Müller
7f63b50f3f gst/matroska/matroska-demux.c: When seeking, seek to closest index entry at or before the requested seek position, no...
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
* gst/matroska/matroska-demux.c: (gst_matroskademux_do_index_seek):
When seeking, seek to closest index entry at or before the requested
seek position, not just the closest one (#321001).
2005-11-15 19:41:21 +00:00
Thomas Vander Stichele
6ff59b2f6e rework configure.ac; make asterisk rtp stuff compile on mingw
Original commit message from CVS:
rework configure.ac; make asterisk rtp stuff compile on mingw
2005-11-14 02:13:35 +00:00
Tim-Philipp Müller
c16c22e4c1 gst/matroska/matroska-mux.c: Don't try to ready buffer duration from buffer that we don't own any longer and that mi...
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
* gst/matroska/matroska-mux.c: (gst_matroska_mux_write_data):
Don't try to ready buffer duration from buffer that we don't
own any  longer and that might already have been unreffed.
(#321136)
2005-11-10 12:22:30 +00:00
Tim-Philipp Müller
7eb9e37532 gst/matroska/matroska-demux.c: Don't error out when the source pad isn't linked.
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_push_vorbis_codec_priv_data),
(gst_matroska_demux_add_wvpk_header):
Don't error out when the source pad isn't linked.
2005-11-07 10:27:00 +00:00
Thomas Vander Stichele
b1b1fe52d6 Fix leaks and invalid memory access as reported by valgrind
Original commit message from CVS:

* check/elements/matroskamux.c: (setup_src_pad), (setup_sink_pad),
(setup_matroskamux), (check_buffer_data), (GST_START_TEST):
* gst/matroska/matroska-mux.c: (gst_matroska_mux_finalize),
(gst_matroska_mux_reset), (gst_matroska_mux_audio_pad_setcaps),
(gst_matroska_mux_start), (gst_matroska_mux_write_data),
(gst_matroska_mux_collected):
Fix leaks and invalid memory access as reported by valgrind
2005-11-01 15:11:16 +00:00
Michal Benes
d52d22ca12 add a unit test for matroskamux fix the bugs that the unit test exposed
Original commit message from CVS:
Patch by: Michal Benes <michal.benes@xeris.cz>

* check/Makefile.am:
* gst/matroska/ebml-write.c: (gst_ebml_write_seek):
* gst/matroska/matroska-mux.c: (gst_matroska_mux_handle_src_event),
(gst_matroska_mux_audio_pad_setcaps), (gst_matroska_mux_start):
add a unit test for matroskamux
fix the bugs that the unit test exposed
2005-11-01 14:36:02 +00:00
Tim-Philipp Müller
7d9dd13c6e gst/matroska/: Set timestamps on outgoing ebml headers as well, so that the element after matroskamux can get the tim...
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
* gst/matroska/ebml-write.c: (gst_ebml_write_new),
(gst_ebml_write_reset), (gst_ebml_write_element_new):
* gst/matroska/ebml-write.h:
* gst/matroska/matroska-mux.c: (gst_matroska_mux_write_data):
Set timestamps on outgoing ebml headers as well, so that the
element after matroskamux can get the timestamp already when
reading the first ebml element and doesn't have to wait for
the actual data buffer for that (#320308).
2005-11-01 12:35:39 +00:00
Tim-Philipp Müller
0166570e09 gst/matroska/: Add SimpleBlock support to matroska demuxer and muxer (part of
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
* gst/matroska/matroska-demux.c: (gst_matroska_demux_init_stream),
(gst_matroska_demux_parse_info),
(gst_matroska_demux_parse_blockgroup_or_simpleblock),
(gst_matroska_demux_parse_cluster):
* gst/matroska/matroska-ids.h:
* gst/matroska/matroska-mux.c: (gst_matroska_mux_class_init),
(gst_matroska_mux_init), (gst_matroska_mux_start),
(gst_matroska_mux_create_buffer_header),
(gst_matroska_mux_write_data), (gst_matroska_mux_set_property),
(gst_matroska_mux_get_property):
* gst/matroska/matroska-mux.h:
Add SimpleBlock support to matroska demuxer and muxer (part of
Matroska v2). (#319731)
2005-10-28 15:32:48 +00:00
Tim-Philipp Müller
512eb8ab25 ext/speex/gstspeexenc.c: Add position and duration query, fix query type function.
Original commit message from CVS:
* ext/speex/gstspeexenc.c: (gst_speexenc_get_query_types),
(gst_speexenc_src_query):
Add position and duration query, fix query type function.
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream),
(gst_matroska_demux_video_caps), (gst_matroska_demux_audio_caps):
Let's not set non-fixed caps on source pads.
2005-10-21 17:00:58 +00:00
Tim-Philipp Müller
a7e0b7d6b5 gst/matroska/matroska-demux.c: Fix duration query; fix basetime in newsegment event after seek; fix duration in initi...
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_handle_src_query),
(gst_matroska_demux_handle_seek_event),
(gst_matroska_demux_loop_stream_parse_id):
Fix duration query; fix basetime in newsegment event after
seek; fix duration in initial newsegment event.
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_audio_pad_setcaps), (gst_matroska_mux_start):
Extract number of channels and samplerate from vorbis headers;
add some debug messages when querying the durations of the
input streams.
2005-10-20 19:14:27 +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
Tim-Philipp Müller
66413b5f00 gst/matroska/: Ported matroska demuxer to 0.9.
Original commit message from CVS:
* gst/matroska/Makefile.am:
* gst/matroska/ebml-read.c:
* gst/matroska/ebml-read.h:
* gst/matroska/matroska-demux.c:
* gst/matroska/matroska-demux.h:
* gst/matroska/matroska.c: (plugin_init):
Ported matroska demuxer to 0.9.
2005-10-18 18:12:31 +00:00
Tim-Philipp Müller
2b6838d77c gst/matroska/matroska-mux.c: Fix mpeg4 input handling (#318847); also, while we're at it, fix media type for Motion-J...
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
* gst/matroska/matroska-mux.c:
(gst_matroska_mux_video_pad_setcaps),
(gst_matroska_mux_audio_pad_setcaps):
Fix mpeg4 input handling (#318847); also, while we're at it,
fix media type for Motion-JPEG: should be image/jpeg.
2005-10-18 18:06:14 +00:00
Tim-Philipp Müller
22b9a5cd43 Port matroska muxer to 0.9 (#318847).
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
* configure.ac:
* gst/matroska/Makefile.am:
* gst/matroska/ebml-ids.h:
* gst/matroska/ebml-write.c:
* gst/matroska/ebml-write.h:
* gst/matroska/matroska-ids.h:
* gst/matroska/matroska-mux.c:
* gst/matroska/matroska-mux.h:
* gst/matroska/matroska.c: (plugin_init):
Port matroska muxer to 0.9 (#318847).
2005-10-14 12:43:30 +00:00
Stefan Kost
987ab4dd81 renamed GST_FLAGS macros to GST_OBJECT_FLAGS moved bitshift from macro to enum definition
Original commit message from CVS:
* examples/indexing/indexmpeg.c: (main):
* ext/esd/esdmon.c: (gst_esdmon_open_audio),
(gst_esdmon_close_audio), (gst_esdmon_change_state):
* ext/esd/esdmon.h:
* ext/gdk_pixbuf/gstgdkpixbuf.c: (gst_gdk_pixbuf_init):
* ext/pango/gsttextoverlay.c: (gst_textoverlay_init):
* gst/autodetect/gstautoaudiosink.c: (gst_auto_audio_sink_init):
* gst/autodetect/gstautovideosink.c: (gst_auto_video_sink_init):
* gst/avi/gstavimux.c: (gst_avimux_init):
* gst/matroska/matroska-demux.c: (gst_matroska_demux_init):
* gst/multipart/multipartdemux.c: (gst_multipart_demux_init):
* gst/multipart/multipartmux.c: (gst_multipart_mux_init):
* gst/oldcore/gstmultifilesrc.c: (gst_multifilesrc_init),
(gst_multifilesrc_get), (gst_multifilesrc_open_file),
(gst_multifilesrc_close_file), (gst_multifilesrc_change_state):
* gst/oldcore/gstmultifilesrc.h:
* gst/oldcore/gstpipefilter.c: (gst_pipefilter_init),
(gst_pipefilter_open_file), (gst_pipefilter_close_file),
(gst_pipefilter_change_state):
* gst/oldcore/gstpipefilter.h:
* gst/smoothwave/gstsmoothwave.c: (gst_smoothwave_init):
* gst/videomixer/videomixer.c: (gst_videomixer_init):
* sys/osxaudio/gstosxaudiosink.c: (gst_osxaudiosink_init):
* sys/osxaudio/gstosxaudiosink.h:
* sys/osxaudio/gstosxaudiosrc.h:
renamed GST_FLAGS macros to GST_OBJECT_FLAGS
moved bitshift from macro to enum definition
2005-10-12 14:29:43 +00:00
Thomas Vander Stichele
7593b38a57 fix build and use of GST_LIBS
Original commit message from CVS:
fix build and use of GST_LIBS
2005-09-23 04:23:00 +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
6532344da9 gst/matroska/matroska-demux.c: Fix logic error in timing of subtitle stream synchronization.
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_blockgroup):
Fix logic error in timing of subtitle stream synchronization.
* gst/typefind/gsttypefindfunctions.c: (qt_type_find):
Add skip-chunk, which is found in kodak-camera streams.
2005-01-27 23:30:17 +00:00
Ronald S. Bultje
2b6207564c gst/matroska/ebml-read.c: Allow for 0-sized buffers. Fixes length query problems in starwars.mkv from the testsuite.
Original commit message from CVS:
* gst/matroska/ebml-read.c: (gst_ebml_read_buffer):
Allow for 0-sized buffers. Fixes length query problems in
starwars.mkv from the testsuite.
2005-01-19 19:31:54 +00:00
Ronald S. Bultje
0f37f59441 ext/alsa/gstalsa.c: Reset variables on READY.
Original commit message from CVS:
* ext/alsa/gstalsa.c: (gst_alsa_change_state):
Reset variables on READY.
* gst/matroska/matroska-mux.c: (gst_matroska_mux_request_new_pad),
(gst_matroska_mux_loop):
Require data before writing header.
2005-01-09 10:30:59 +00:00
Ronald S. Bultje
65262fe081 OGM text support, Matroska UTF-8 text support, deadlock fixes all over the place, subtitle awareness in decodebin/pla...
Original commit message from CVS:
* configure.ac:
* ext/ogg/gstoggdemux.c: (gst_ogg_pad_new):
* ext/ogg/gstogmparse.c: (gst_ogm_text_parse_get_type),
(gst_ogm_text_parse_base_init), (gst_ogm_text_parse_init),
(gst_ogm_parse_get_sink_querytypes), (gst_ogm_parse_sink_convert),
(gst_ogm_parse_sink_query), (gst_ogm_parse_chain),
(gst_ogm_parse_plugin_init):
* ext/pango/gsttextoverlay.c: (gst_textoverlay_linkedpads),
(gst_textoverlay_link), (gst_textoverlay_getcaps),
(gst_textoverlay_event), (gst_textoverlay_video_chain),
(gst_textoverlay_loop), (gst_textoverlay_init), (plugin_init):
* ext/pango/gsttextoverlay.h:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream),
(gst_matroska_demux_handle_seek_event),
(gst_matroska_demux_sync_streams),
(gst_matroska_demux_parse_blockgroup),
(gst_matroska_demux_subtitle_caps),
(gst_matroska_demux_plugin_init):
* gst/matroska/matroska-ids.h:
* gst/playback/gstdecodebin.c: (close_pad_link):
* gst/playback/gstplaybasebin.c: (gst_play_base_bin_init),
(gen_preroll_element), (remove_groups), (add_stream),
(new_decoded_pad), (setup_subtitles), (gen_source_element),
(setup_source):
* gst/playback/gstplaybasebin.h:
* gst/playback/gstplaybin.c: (gen_text_element), (setup_sinks):
* gst/subparse/Makefile.am:
* gst/subparse/gstsubparse.c: (gst_subparse_get_type),
(gst_subparse_base_init), (gst_subparse_class_init),
(gst_subparse_init), (gst_subparse_formats),
(gst_subparse_eventmask), (gst_subparse_event),
(gst_subparse_handle_event), (convert_encoding), (get_next_line),
(parse_mdvdsub), (parse_mdvdsub_init), (parse_subrip),
(parse_subrip_deinit), (parse_subrip_init), (parse_mpsub),
(parse_mpsub_deinit), (parse_mpsub_init),
(gst_subparse_buffer_format_autodetect),
(gst_subparse_format_autodetect), (gst_subparse_loop),
(gst_subparse_change_state), (gst_subparse_type_find),
(plugin_init):
* gst/subparse/gstsubparse.h:
* gst/typefind/gsttypefindfunctions.c: (ogmtext_type_find),
(plugin_init):
Add subtitle support, .sub parser (supports SRT and MPsub),
OGM text support, Matroska UTF-8 text support, deadlock fixes
all over the place, subtitle awareness in decodebin/playbin
and some fixes to textoverlay to handle subtitles in a stream
correctly. Fixes #100931.
2005-01-08 18:22:41 +00:00
Stéphane Loeuillet
c838dd54c4 ext/dv/gstdvdec.c: Fix audio caps i just broke (missing ',')
Original commit message from CVS:
* ext/dv/gstdvdec.c:
Fix audio caps i just broke (missing ',')
* gst/matroska/matroska-mux.c: (gst_matroska_mux_get_type),
(gst_matroska_mux_reset):
Fix typo + add FIXME about old "x-gst-metadata" crap
2005-01-07 23:46:23 +00:00
Maciej Katafiasz
df19ded406 Remove time-based check for first vorbis packet altogether, as it was a hack since day one (Arwed who wrote it says s...
Original commit message from CVS:
Remove time-based check for first vorbis packet altogether, as it
was a hack since day one (Arwed who wrote it says so)...
2004-12-28 17:09:06 +00:00
Maciej Katafiasz
6a25ab5bd4 Ooops, fix previous commit. Never trust file names I guess...
Original commit message from CVS:
Ooops, fix previous commit. Never trust file names I guess...
2004-12-28 16:50:28 +00:00
Maciej Katafiasz
e857c88844 Fix Vorbis streams failing to decode in some files, where cluster_time isn't 0, because then it doesn't send codec_pr...
Original commit message from CVS:
Fix Vorbis streams failing to decode in some files, where cluster_time isn't 0,
because then it doesn't send codec_priv before actual data.
2004-12-28 16:39:48 +00:00
Ronald S. Bultje
3b494824c0 gst/matroska/matroska-demux.c: Save position, so that queries give proper return values. Don't know how this could ev...
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_blockgroup):
Save position, so that queries give proper return values. Don't
know how this could ever have worked before...
2004-12-23 13:14:24 +00:00
Ronald S. Bultje
f16a6fa764 gst/matroska/matroska-demux.c: That was very stupid.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_ebmlnum_sint):
That was very stupid.
2004-12-18 22:53:29 +00:00
Ronald S. Bultje
d209b3de10 gst/matroska/matroska-demux.c: Fix possible crasher.
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_blockgroup):
Fix possible crasher.
2004-12-18 22:47:47 +00:00
Ronald S. Bultje
59726ae2df gst/matroska/matroska-demux.c: Lace sizes can be zero.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_ebmlnum_uint),
(gst_matroska_ebmlnum_sint), (gst_matroska_demux_parse_blockgroup):
Lace sizes can be zero.
2004-12-18 22:40:24 +00:00
Ronald S. Bultje
b76bb4154e gst/matroska/matroska-demux.c: Some MPEG-AAC hacks, because else it doesn't work...
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (aac_rate_idx), (aac_profile_idx),
(gst_matroska_demux_audio_caps):
Some MPEG-AAC hacks, because else it doesn't work...
2004-12-16 22:16:02 +00:00
Ronald S. Bultje
66b58bd6bb gst/matroska/matroska-demux.c: Don't set DEFAULT, unsupported - makes length display incorrectly in some cases.
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_handle_src_query):
Don't set DEFAULT, unsupported - makes length display incorrectly
in some cases.
2004-12-08 22:12:13 +00:00
Arwed v. Merkatz
a9d5e7b74f set correct buffer durations in mp3parse, set default_duration in matroskamux for mpeg1 audio
Original commit message from CVS:
set correct buffer durations in mp3parse, set default_duration in matroskamux for mpeg1 audio
2004-12-06 19:32:33 +00:00
Ronald S. Bultje
75ff7535dd gst/matroska/: Disgustingly evil hack for working around INTERRUPT events and their extremely annoying habit of being...
Original commit message from CVS:
* gst/matroska/ebml-read.c: (gst_ebml_read_class_init),
(gst_ebml_read_init), (gst_ebml_read_use_event),
(gst_ebml_read_element_id), (gst_ebml_peek_id),
(gst_ebml_read_seek), (gst_ebml_read_skip),
(gst_ebml_read_reserve), (gst_ebml_read_buffer),
(gst_ebml_read_master):
* gst/matroska/ebml-read.h:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_contents),
(gst_matroska_demux_loop_stream), (gst_matroska_demux_audio_caps):
Disgustingly evil hack for working around INTERRUPT events and
their extremely annoying habit of being a pain in the ass. We
simply peek a cluster before reading any of it.
2004-12-03 21:08:17 +00:00
Ronald S. Bultje
780c4c1c86 gst/matroska/matroska-demux.c: Signal no-more-pads (so it works in playbin).
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_loop_stream):
Signal no-more-pads (so it works in playbin).
2004-11-11 20:37:03 +00:00
Stéphane Loeuillet
515dc1aba5 gst/wavparse/gstwavparse.c: add ATRAC3 to STATIC CAPS to fix a warning
Original commit message from CVS:
* gst/wavparse/gstwavparse.c:
add ATRAC3 to STATIC CAPS to fix a warning

* gst/matroska/ebml-read.c:
* gst-libs/gst/riff/riff-read.c:
fix typos
2004-10-06 15:12:08 +00:00
Ronald S. Bultje
a8afe5f5b3 ext/dvdread/dvdreadsrc.c: Fix. Don't do one big huge loop around the whole DVD, that will cache all data and thus eat...
Original commit message from CVS:
* ext/dvdread/dvdreadsrc.c: (dvdreadsrc_class_init),
(dvdreadsrc_init), (dvdreadsrc_dispose), (dvdreadsrc_set_property),
(dvdreadsrc_get_property), (_open), (_seek), (_read),
(dvdreadsrc_get), (dvdreadsrc_open_file),
(dvdreadsrc_change_state):
Fix. Don't do one big huge loop around the whole DVD, that will
cache all data and thus eat sizeof(dvd) (several GB) before we
see something.
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_seek):
Actually NULL'ify event after using it.
* gst/matroska/ebml-read.c: (gst_ebml_read_use_event),
(gst_ebml_read_handle_event), (gst_ebml_read_element_id),
(gst_ebml_read_element_length), (gst_ebml_read_element_data),
(gst_ebml_read_seek), (gst_ebml_read_skip):
Handle events.
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_base_init),
(gst_dvd_demux_init), (gst_dvd_demux_get_audio_stream),
(gst_dvd_demux_get_subpicture_stream), (gst_dvd_demux_plugin_init):
Fix timing (this will probably break if I seek using menus, but
I didn't get there yet). VOBs and normal DVDs should now work.
Add a mpeg2-only pad with high rank so this get autoplugged for
MPEG-2 movies.
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_base_init),
(gst_mpeg_demux_class_init), (gst_mpeg_demux_init),
(gst_mpeg_demux_new_output_pad), (gst_mpeg_demux_get_video_stream),
(gst_mpeg_demux_get_audio_stream),
(gst_mpeg_demux_get_private_stream), (gst_mpeg_demux_parse_packet),
(gst_mpeg_demux_parse_pes), (gst_mpeg_demux_plugin_init):
Use this as second rank for MPEG-1 and MPEG-2. Still use this for
MPEG-1 but use dvddemux for MPEG-2.
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_class_init),
(gst_mpeg_parse_init), (gst_mpeg_parse_new_pad),
(gst_mpeg_parse_parse_packhead):
Timing. Only add pad template if it exists. Add sink template from
class and not from ourselves. This means we will always use the
correct sink template even if it is not the one defined in this
file.
2004-10-01 08:42:56 +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
Arwed v. Merkatz
529aac8034 use audio/x-ttafile and audio/x-tta for tta instead of audio/x-tta and audio/x-raw-tta
Original commit message from CVS:
use audio/x-ttafile and audio/x-tta for tta instead of audio/x-tta and audio/x-raw-tta
2004-09-15 19:43:37 +00:00
Arwed v. Merkatz
814b3d25be Write meta-seek information (seek heads).
Original commit message from CVS:
Write meta-seek information (seek heads).
2004-09-09 17:54:26 +00:00
Arwed v. Merkatz
56a8d7c680 Write multiple blocks/frames per cluster.
Original commit message from CVS:
Write multiple blocks/frames per cluster.
2004-09-09 15:40:06 +00:00
Arwed v. Merkatz
1fcf92b730 Create cue entries for audio only files.
Original commit message from CVS:
Create cue entries for audio only files.
Fix writing of CUETIME, wrongly used gst_ebml_write_date.
2004-09-01 13:41:37 +00:00
Arwed v. Merkatz
e83fb2a3c2 Write track and segment UIDs, write muxing date, write TRACKDEFAULTDURATION for TTA audio, write BLOCKDURATION if known.
Original commit message from CVS:
Write track and segment UIDs, write muxing date, write TRACKDEFAULTDURATION for TTA audio, write BLOCKDURATION if known.
2004-09-01 12:10:21 +00:00
Ronald S. Bultje
436a489e65 ext/alsa/: Re-commit ALSA switches.
Original commit message from CVS:
* ext/alsa/gstalsamixer.c: (gst_alsa_mixer_build_list):
* ext/alsa/gstalsamixertrack.c: (gst_alsa_mixer_track_new):
Re-commit ALSA switches.
* gst/adder/gstadder.c: (gst_adder_loop):
64-bit fix (#151416).
* gst/debug/progressreport.c: (gst_progressreport_report):
64-bit fix (#151419).
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_contents):
64-bit fix (#151420).
* gst/playback/test3.c: (update_scale):
64-bit fix (#151421).
2004-08-31 14:12:49 +00:00
Arwed v. Merkatz
ece91164c8 Mux video/x-divx and video/x-xvid in VFW compatibility mode so it actually works
Original commit message from CVS:
Mux video/x-divx and video/x-xvid in VFW compatibility mode so it actually works
2004-08-27 17:01:12 +00:00
Arwed v. Merkatz
7e9f0b9582 Handle EOS correctly.
Original commit message from CVS:
Handle EOS correctly.
2004-08-27 14:10:09 +00:00
Arwed v. Merkatz
356279a65b Fix byte order reversion for writing ebml floats.
Original commit message from CVS:
Fix byte order reversion for writing ebml floats.
Write segment duration and muxing application in matroska.
Added TTA codec to the list of supported codecs to mux into matroska.
2004-08-26 11:10:16 +00:00
Arwed v. Merkatz
ad0c06763d Interpret BLOCKDURATION and set buffer duration accordingly, enable demuxing of TTA audio from matroska, fixes bugs #...
Original commit message from CVS:
Interpret BLOCKDURATION and set buffer duration accordingly, enable demuxing
of TTA audio from matroska, fixes bugs #148950 and #148951.
2004-08-25 14:41:12 +00:00
Arwed v. Merkatz
4a4ec26aa3 Send vorbis headers at the beginning of a stream, fixes bug #141554.
Original commit message from CVS:
Send vorbis headers at the beginning of a stream, fixes bug #141554.
2004-08-25 12:27:59 +00:00
Steve Lhomme
e7045bdb87 more working plugins
Original commit message from CVS:
more working plugins
2004-07-27 21:41:30 +00:00
Thomas Vander Stichele
f8e224d950 pixel aspect ratio handling
Original commit message from CVS:
pixel aspect ratio handling
2004-07-27 16:43:20 +00:00
Steve Lhomme
5e4e09cd5c rename GStreamer-0.8.lib to libgstreamer.lib
Original commit message from CVS:
rename GStreamer-0.8.lib to libgstreamer.lib
2004-07-27 09:57:33 +00:00
Steve Lhomme
48429b2cdc avoid problems with math.h, fix release dependancy
Original commit message from CVS:
avoid problems with math.h, fix release dependancy
2004-07-27 09:48:51 +00:00
Steve Lhomme
43f34faaa4 remove unused .def files
Original commit message from CVS:
remove unused .def files
2004-07-25 11:18:03 +00:00
Steve Lhomme
c6592a05c2 Copy the files where needed after building, cleaner projects
Original commit message from CVS:
Copy the files where needed after building, cleaner projects
2004-07-25 10:33:07 +00:00
Steve Lhomme
6976ceb235 Fix some 64 bits constants to be glib friendly
Original commit message from CVS:
Fix some 64 bits constants to be glib friendly
2004-07-24 21:16:15 +00:00
Steve Lhomme
3f95ab38b9 Add the preliminary canvas to build plugins on Win32
Original commit message from CVS:
Add the preliminary canvas to build plugins on Win32
2004-07-24 21:11:31 +00:00
Thomas Vander Stichele
cb0ef25591 ... and keep playing of course
Original commit message from CVS:
... and keep playing of course
2004-07-18 16:59:33 +00:00
Thomas Vander Stichele
6cc44b9322 make log less verbose
Original commit message from CVS:
make log less verbose
2004-07-18 16:58:08 +00:00
Thomas Vander Stichele
74eafb8595 add debug categories to matroska
Original commit message from CVS:
add debug categories to matroska
2004-07-18 15:58:04 +00:00
Ronald S. Bultje
fe3d02a6ca gst-libs/gst/riff/riff-media.c: mp42/mp43 (no caps) exist too.
Original commit message from CVS:
* gst-libs/gst/riff/riff-media.c:
(gst_riff_create_video_caps_with_data):
mp42/mp43 (no caps) exist too.
* gst/matroska/matroska-demux.c: (gst_matroska_demux_video_caps):
Set pixel_width/height; we've got them in-caps.
* gst/typefind/gsttypefindfunctions.c: (plugin_init):
* gst/wavparse/gstwavparse.c: (plugin_init):
Both are valid primary.
* sys/oss/gstossmixer.c:
Remove i18n hack and enable translations.
2004-07-15 23:56: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
129c79c841 gst/matroska/: Basic tag reading support.
Original commit message from CVS:
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_metadata):
* gst/matroska/matroska-ids.h:
Basic tag reading support.
2004-05-01 17:27:23 +00:00
Ronald S. Bultje
5edbe32754 gst/matroska/matroska-demux.c: Really detect ac-3 audio.
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroska_demux_audio_caps):
Really detect ac-3 audio.
* gst/typefind/gsttypefindfunctions.c: (matroska_type_find):
really detect matroska files (off-by-1).
2004-05-01 02:46:38 +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
Benjamin Otte
611d3c3d23 ext/mad/gstid3tag.c: add missing 'new_media' argument (fixes #138168)
Original commit message from CVS:
reviewed by Benjamin Otte  <otte@gnome.org>
* ext/mad/gstid3tag.c: (gst_id3_tag_handle_event):
add missing 'new_media' argument (fixes #138168)
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_handle_seek_event):
add vararg terminator (fixes #138169)
2004-04-03 13:59:57 +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
Johan Dahlin
5acffea623 *.h: Revert indenting
Original commit message from CVS:
* *.h: Revert indenting
2004-03-15 16:32:54 +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
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
Ronald S. Bultje
82d8ba320f gst/: Fix event handling.
Original commit message from CVS:
2004-01-30  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* gst-libs/gst/riff/riff-read.c: (gst_riff_peek_head),
(gst_riff_read_seek):
* gst/matroska/ebml-read.c: (gst_ebml_read_element_id),
(gst_ebml_read_seek):
Fix event handling.
2004-01-30 12:37:58 +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
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
5d181f4c6d gst/matroska/matroska-demux.c: Fix for using incremental number on padnames.
Original commit message from CVS:
2004-01-14  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* gst/matroska/matroska-demux.c: (gst_matroska_demux_add_stream):
Fix for using incremental number on padnames.
2004-01-14 10:58:15 +00:00
Benjamin Otte
9a9f767369 use element time.
Original commit message from CVS:
2004-01-14  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/aalib/gstaasink.c: (gst_aasink_chain):
* ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event):
* ext/esd/esdsink.c: (gst_esdsink_chain):
* ext/libcaca/gstcacasink.c: (gst_cacasink_chain):
* ext/mas/massink.c: (gst_massink_chain):
* ext/sdl/sdlvideosink.c: (gst_sdlvideosink_chain):
* gst/matroska/matroska-demux.c: (gst_matroska_demux_parse_index),
(gst_matroska_demux_parse_metadata):
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_loop),
(gst_mpeg_parse_release_locks):
* gst/tcp/gsttcpsink.c: (gst_tcpsink_chain):
* gst/udp/gstudpsink.c: (gst_udpsink_chain):
* gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get):
* sys/oss/gstosssink.c: (gst_osssink_init), (gst_osssink_chain),
(gst_osssink_change_state):
* sys/v4l/gstv4lmjpegsink.c: (gst_v4lmjpegsink_chain):
* sys/ximage/ximagesink.c: (gst_ximagesink_chain):
* sys/xvideo/xvideosink.c: (gst_xvideosink_chain),
(gst_xvideosink_release_locks):
* sys/xvimage/xvimagesink.c: (gst_xvimagesink_chain):
use element time.
* ext/alsa/gstalsaclock.c: (gst_alsa_clock_start),
(gst_alsa_clock_stop):
* gst-libs/gst/audio/audioclock.c: (gst_audio_clock_set_active),
(gst_audio_clock_get_internal_time):
simplify for use with new clocking code.
* testsuite/alsa/Makefile.am:
* testsuite/alsa/sinesrc.c: (sinesrc_init), (sinesrc_force_caps):
fix testsuite for new caps system
2004-01-14 00:53:52 +00:00
Ronald S. Bultje
520514e03c gst/matroska/matroska-demux.c: Fix EBML-laced block parsing. Diffs are relative to previous lace, not the first lace....
Original commit message from CVS:
2004-01-04  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* gst/matroska/matroska-demux.c:
Fix EBML-laced block parsing. Diffs are relative to previous
lace, not the first lace. Thanks to Mosu from the Matroska
team for detecting this.
(gst_matroska_demux_parse_blockgroup):
* gst/wavparse/gstwavparse.c: (gst_wavparse_init),
(gst_wavparse_parse_fmt), (gst_wavparse_getcaps),
(gst_wavparse_handle_sink_event), (gst_wavparse_loop),
(gst_wavparse_change_state):
* gst/wavparse/gstwavparse.h:
Quickfix for capsnego.
2004-01-04 15:23:03 +00:00
Ronald S. Bultje
4c95ed1ff5 gst/matroska/: Add getcaps() function to fix capsnego...
Original commit message from CVS:
2004-01-04  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* gst/matroska/matroska-demux.c: (gst_matroska_demux_src_getcaps),
(gst_matroska_demux_add_stream):
* gst/matroska/matroska-ids.h:
Add getcaps() function to fix capsnego...
2004-01-03 23:26:08 +00:00
Ronald S. Bultje
02029d218d gst/matroska/: fix signed integer reading/writing.
Original commit message from CVS:
2004-01-02  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* gst/matroska/ebml-read.c: (gst_ebml_read_sint):
* gst/matroska/ebml-write.c: (gst_ebml_write_sint):
fix signed integer reading/writing.
2004-01-02 20:38:59 +00:00
David Schleef
6c1b114eed Convert elements to use gst_pad_use_explicit_caps() where appropriate.
Original commit message from CVS:
Convert elements to use gst_pad_use_explicit_caps() where appropriate.
2004-01-02 07:09:23 +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
ae91d7c717 configure.ac: Improve mpeg2enc detection. This is for distributions that do ship mjpegtools, but without mpeg2enc. Al...
Original commit message from CVS:
2003-12-21  Ronald Bultje  <rbultje@ronald.bitfreak.net>

* configure.ac:
Improve mpeg2enc detection. This is for distributions that do
ship mjpegtools, but without mpeg2enc. Also does object check
for might there ever be ABI incompatibility.
* ext/mpeg2enc/gstmpeg2enc.cc:
Add Andrew as second maintainer (he's helping me), and also add
an error if no caps was set. This happens if I pull before capsnego
and that's something I should solve sometime else.
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_blockgroup):
Fix time parsing.
* gst/matroska/matroska-mux.c: (gst_matroska_mux_audio_pad_link),
(gst_matroska_mux_track_header):
Add caps to templates.
* gst/mpegaudioparse/gstmpegaudioparse.c: (mp3_sink_factory):
Add mpegversion=1 to prevent confusion with MPEG/AAC.
* gst/mpegstream/gstmpegdemux.c:
Remove layer since it causes warnings about unfixed caps.
* gst/videotestsrc/gstvideotestsrc.c: (gst_videotestsrc_get):
Fix obvious typo (we error out if caps were set, we should of
course error out if *no* caps were set).
* sys/oss/gstosselement.c: (gst_osselement_convert):
Fix format conversion, we confused bits/bytes.
* sys/oss/gstosselement.h:
Improve documentation for 'bps'.
* sys/v4l/TODO:
Remove stuff about plugins that need removing - this was done
ages ago.
* sys/v4l/gstv4lmjpegsrc.c: (gst_v4lmjpegsrc_init),
(gst_v4lmjpegsrc_src_convert), (gst_v4lmjpegsrc_src_query):
* sys/v4l/gstv4lsrc.c: (gst_v4lsrc_init), (gst_v4lsrc_src_convert),
(gst_v4lsrc_src_query):
* sys/v4l2/gstv4l2src.c: (gst_v4l2src_init),
(gst_v4l2src_src_convert), (gst_v4l2src_src_query):
Add get_query_types(), get_formats() and query() functions.
2003-12-21 18:44:34 +00:00
Ronald S. Bultje
69482984d5 Quickfix for wrong timestamps... No final solution yet
Original commit message from CVS:
Quickfix for wrong timestamps... No final solution yet
2003-12-19 16:07:00 +00:00
Ronald S. Bultje
76a5c85de7 Sorry Dave... Add mpegversion=1 to mp3 caps everywhere so that the autoplugger uses mad and not faad for mp3 decoding...
Original commit message from CVS:
Sorry Dave... Add mpegversion=1 to mp3 caps everywhere so that the autoplugger uses mad and not faad for mp3 decoding. This should fix mp3 playback.
2003-12-18 09:31:49 +00:00
Ronald S. Bultje
fd6b022682 Fix compilation on BE, see #129224
Original commit message from CVS:
Fix compilation on BE, see #129224
2003-12-13 17:08:26 +00:00
Ronald S. Bultje
ada54a1cdd More riff stuff that I forgot to commit first
Original commit message from CVS:
More riff stuff that I forgot to commit first
2003-12-07 23:05:58 +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
Ronald S. Bultje
5dca8dcdf7 so disable it during plugin registering too
Original commit message from CVS:
Muxer is disabled (under development), so disable it during plugin registering too
2003-11-22 12:10:00 +00:00
Ronald S. Bultje
29e9ebcfda Add C-based local matroska/EBML plugin, remove libmatroska/libebml c++ one
Original commit message from CVS:
Add C-based local matroska/EBML plugin, remove libmatroska/libebml c++ one
2003-11-21 21:34:27 +00:00