Commit graph

2148 commits

Author SHA1 Message Date
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
Tim-Philipp Müller
7a118610ed gst/debug/gsttaginject.c: Don't unref NULL taglist in finalize. Don't use c++ style comments.
Original commit message from CVS:
* gst/debug/gsttaginject.c: (gst_tag_inject_finalize),
(gst_tag_inject_class_init), (gst_tag_inject_init):
Don't unref NULL taglist in finalize. Don't use c++ style
comments.
2008-06-13 21:13:46 +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
Stefan Kost
764f5106a5 gst/replaygain/: More doc updates.
Original commit message from CVS:
* gst/replaygain/gstrganalysis.c:
* gst/replaygain/gstrglimiter.c:
* gst/replaygain/gstrgvolume.c:
More doc updates.
2008-06-13 14:33:52 +00:00
Stefan Kost
b442ba6f55 docs/plugins/: docs/plugins/inspect/plugin-mythtv.xml
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
* docs/plugins/gst-plugins-bad-plugins-sections.txt:
* docs/plugins/gst-plugins-bad-plugins.args:
* docs/plugins/gst-plugins-bad-plugins.hierarchy:
* docs/plugins/gst-plugins-bad-plugins.interfaces:
* docs/plugins/gst-plugins-bad-plugins.prerequisites:
* docs/plugins/gst-plugins-bad-plugins.signals:
* docs/plugins/inspect/plugin-alsaspdif.xml:
* docs/plugins/inspect/plugin-amrwb.xml:
* docs/plugins/inspect/plugin-app.xml:
* docs/plugins/inspect/plugin-bayer.xml:
* docs/plugins/inspect/plugin-bz2.xml:
* docs/plugins/inspect/plugin-cdaudio.xml:
* docs/plugins/inspect/plugin-cdxaparse.xml:
* docs/plugins/inspect/plugin-dtsdec.xml:
* docs/plugins/inspect/plugin-dvb.xml:
* docs/plugins/inspect/plugin-dvdspu.xml:
* docs/plugins/inspect/plugin-faac.xml:
* docs/plugins/inspect/plugin-faad.xml:
* docs/plugins/inspect/plugin-fbdevsink.xml:
* docs/plugins/inspect/plugin-festival.xml:
* docs/plugins/inspect/plugin-filter.xml:
* docs/plugins/inspect/plugin-flvdemux.xml:
* docs/plugins/inspect/plugin-freeze.xml:
* docs/plugins/inspect/plugin-gsm.xml:
* docs/plugins/inspect/plugin-gstinterlace.xml:
* docs/plugins/inspect/plugin-gstrtpmanager.xml:
* docs/plugins/inspect/plugin-h264parse.xml:
* docs/plugins/inspect/plugin-interleave.xml:
* docs/plugins/inspect/plugin-jack.xml:
* docs/plugins/inspect/plugin-ladspa.xml:
* docs/plugins/inspect/plugin-metadata.xml:
* docs/plugins/inspect/plugin-mms.xml:
* docs/plugins/inspect/plugin-modplug.xml:
* docs/plugins/inspect/plugin-mpeg2enc.xml:
* docs/plugins/inspect/plugin-mpeg4videoparse.xml:
* docs/plugins/inspect/plugin-mpegtsparse.xml:
* docs/plugins/inspect/plugin-mpegvideoparse.xml:
* docs/plugins/inspect/plugin-musepack.xml:
* docs/plugins/inspect/plugin-musicbrainz.xml:
* docs/plugins/inspect/plugin-mve.xml:
* docs/plugins/inspect/plugin-mythtv.xml
* docs/plugins/inspect/plugin-nas.xml:
* docs/plugins/inspect/plugin-neon.xml:
* docs/plugins/inspect/plugin-nsfdec.xml:
* docs/plugins/inspect/plugin-nuvdemux.xml:
* docs/plugins/inspect/plugin-oss4.xml
* docs/plugins/inspect/plugin-rawparse.xml:
* docs/plugins/inspect/plugin-real.xml:
* docs/plugins/inspect/plugin-replaygain.xml:
* docs/plugins/inspect/plugin-rfbsrc.xml:
* docs/plugins/inspect/plugin-sdl.xml:
* docs/plugins/inspect/plugin-sdp.xml:
* docs/plugins/inspect/plugin-selector.xml:
* docs/plugins/inspect/plugin-sndfile.xml:
* docs/plugins/inspect/plugin-soundtouch.xml:
* docs/plugins/inspect/plugin-spcdec.xml:
* docs/plugins/inspect/plugin-speed.xml:
* docs/plugins/inspect/plugin-speexresample.xml:
* docs/plugins/inspect/plugin-stereo.xml:
* docs/plugins/inspect/plugin-subenc.xml
* docs/plugins/inspect/plugin-timidity.xml:
* docs/plugins/inspect/plugin-tta.xml:
* docs/plugins/inspect/plugin-vcdsrc.xml:
* docs/plugins/inspect/plugin-videosignal.xml:
* docs/plugins/inspect/plugin-vmnc.xml:
* docs/plugins/inspect/plugin-wildmidi.xml:
* docs/plugins/inspect/plugin-x264.xml:
* docs/plugins/inspect/plugin-xvid.xml:
* docs/plugins/inspect/plugin-y4menc.xml:
* ext/amrwb/gstamrwbdec.c:
* ext/amrwb/gstamrwbenc.c:
* ext/amrwb/gstamrwbparse.c:
* ext/dc1394/gstdc1394.c:
* ext/directfb/dfbvideosink.c:
* ext/ivorbis/vorbisdec.c:
* ext/jack/gstjackaudiosink.c:
* ext/mpeg2enc/gstmpeg2enc.cc:
* ext/mplex/gstmplex.cc:
* ext/musicbrainz/gsttrm.c:
* ext/mythtv/gstmythtvsrc.c:
* ext/theora/theoradec.c:
* ext/timidity/gsttimidity.c:
* ext/timidity/gstwildmidi.c:
* gst-libs/gst/app/gstappsink.c:
* gst/deinterlace/gstdeinterlace.c:
* gst/dvdspu/gstdvdspu.c:
* gst/festival/gstfestival.c:
* gst/freeze/gstfreeze.c:
* gst/interleave/deinterleave.c:
* gst/interleave/interleave.c:
* gst/modplug/gstmodplug.cc:
* gst/nuvdemux/gstnuvdemux.c:
Add missing elements to docs. Fix doc-markup: use convinience syntax
for examples (produces valid docbook), add several refsec2 when we
have several titles. Fix some types.
2008-06-13 11:59:23 +00:00
Wim Taymans
ccddfc5da7 gst/udp/gstudpsrc.*: Add property to control automatic join/leave of multicast groups.
Original commit message from CVS:
* gst/udp/gstudpsrc.c: (gst_udpsrc_class_init), (gst_udpsrc_init),
(gst_udpsrc_create), (gst_udpsrc_set_property),
(gst_udpsrc_get_property), (gst_udpsrc_start), (gst_udpsrc_stop):
* gst/udp/gstudpsrc.h:
Add property to control automatic join/leave of multicast groups.
Add G_LIKELY.
Remove setting caps on buffers explicitly, basesrc does that for us now.
Improve debug info.
Convert some non-fatal error into warnings.
Use g_ntohs for better portability.
Leave multicast groups when stopping.
When using external sockets, use getsockname() on them to fill up the
addr structure before calling methods that use the structure.
Should all fix #536903.
API: GstUDPSrc::auto-multicast property
2008-06-13 11:54:05 +00:00
Wim Taymans
5b751d0290 gst/udp/gstudpnetutils.c: Use g_ntohl for better portability.
Original commit message from CVS:
* gst/udp/gstudpnetutils.c: (gst_udp_is_multicast):
Use g_ntohl for better portability.
2008-06-13 11:47:28 +00:00
Wim Taymans
ab58eeec2e gst/udp/gstmultiudpsink.c: Fix a typo and do some small cleanups.
Original commit message from CVS:
* gst/udp/gstmultiudpsink.c: (gst_multiudpsink_init_send),
(gst_multiudpsink_remove):
Fix a typo and do some small cleanups.
2008-06-13 11:45:54 +00:00
Olivier Crete
2ba1de92a4 gst/rtp/gstrtptheoradepay.c: Make the delivery-method mandatory on the caps and only accept inline for now.
Original commit message from CVS:
Patch by: Olivier Crete <tester at tester dot ca>
* gst/rtp/gstrtptheoradepay.c: (gst_rtp_theora_depay_setcaps):
Make the delivery-method mandatory on the caps and only accept inline
for now.
Reverse strcmp checks for delivery-method.
* gst/rtp/gstrtpvorbisdepay.c: (gst_rtp_vorbis_depay_setcaps):
Make delivery method optional when parsing caps and note this in the
caps.
Reverse strcmp checks for delivery-method.
* gst/rtp/gstrtpvorbispay.c:
Update a comment to note that the delivery-method is optional,
Fixes #537675.
2008-06-13 09:39:41 +00:00
Wim Taymans
8d901b4bfc gst/rtsp/gstrtspsrc.c: Set udpsrc for receiving data from multicast groups to PAUSED instead of leaving them in READY...
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_stream_configure_mcast):
Set udpsrc for receiving data from multicast groups to PAUSED instead of
leaving them in READY. Fixes #537832.
2008-06-12 17:30:06 +00:00
Stefan Kost
8fc46085b3 gst/avi/gstavimux.c: Simplify code. gst_tag_list_merge() does the NULL checks. Add a FIXME for a random constant in t...
Original commit message from CVS:
* gst/avi/gstavimux.c:
Simplify code. gst_tag_list_merge() does the NULL checks. Add a FIXME
for a random constant in tagmuxing code.
2008-06-12 12:14:38 +00:00
Stefan Kost
b3cfa35a6f gst/debug/gsttaginject.*: Now actually adding the new element.
Original commit message from CVS:
* gst/debug/gsttaginject.c:
* gst/debug/gsttaginject.h:
Now actually adding the new element.
2008-06-11 14:28:44 +00:00
Stefan Kost
a3a8b70762 Remove dummy plugin_init. Remove some undefined entries from doc- section file. Add taginject element and rebuild doc...
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-good-plugins-docs.sgml:
* docs/plugins/gst-plugins-good-plugins-sections.txt:
* docs/plugins/gst-plugins-good-plugins.args:
* docs/plugins/gst-plugins-good-plugins.hierarchy:
* docs/plugins/gst-plugins-good-plugins.interfaces:
* docs/plugins/gst-plugins-good-plugins.prerequisites:
* docs/plugins/inspect/plugin-aasink.xml:
* docs/plugins/inspect/plugin-alaw.xml:
* docs/plugins/inspect/plugin-alpha.xml:
* docs/plugins/inspect/plugin-alphacolor.xml:
* docs/plugins/inspect/plugin-annodex.xml:
* docs/plugins/inspect/plugin-apetag.xml:
* docs/plugins/inspect/plugin-audiofx.xml:
* docs/plugins/inspect/plugin-auparse.xml:
* docs/plugins/inspect/plugin-autodetect.xml:
* docs/plugins/inspect/plugin-avi.xml:
* docs/plugins/inspect/plugin-cacasink.xml:
* docs/plugins/inspect/plugin-cairo.xml:
* docs/plugins/inspect/plugin-cdio.xml:
* docs/plugins/inspect/plugin-cutter.xml:
* docs/plugins/inspect/plugin-debug.xml:
* docs/plugins/inspect/plugin-dv.xml:
* docs/plugins/inspect/plugin-efence.xml:
* docs/plugins/inspect/plugin-effectv.xml:
* docs/plugins/inspect/plugin-equalizer.xml:
* docs/plugins/inspect/plugin-esdsink.xml:
* docs/plugins/inspect/plugin-flac.xml:
* docs/plugins/inspect/plugin-flxdec.xml:
* docs/plugins/inspect/plugin-gamma.xml:
* docs/plugins/inspect/plugin-gconfelements.xml:
* docs/plugins/inspect/plugin-gdkpixbuf.xml:
* docs/plugins/inspect/plugin-goom.xml:
* docs/plugins/inspect/plugin-goom2k1.xml:
* docs/plugins/inspect/plugin-halelements.xml:
* docs/plugins/inspect/plugin-icydemux.xml:
* docs/plugins/inspect/plugin-id3demux.xml:
* docs/plugins/inspect/plugin-jpeg.xml:
* docs/plugins/inspect/plugin-level.xml:
* docs/plugins/inspect/plugin-matroska.xml:
* docs/plugins/inspect/plugin-monoscope.xml:
* docs/plugins/inspect/plugin-mulaw.xml:
* docs/plugins/inspect/plugin-multifile.xml:
* docs/plugins/inspect/plugin-multipart.xml:
* docs/plugins/inspect/plugin-navigationtest.xml:
* docs/plugins/inspect/plugin-ossaudio.xml:
* docs/plugins/inspect/plugin-png.xml:
* docs/plugins/inspect/plugin-quicktime.xml:
* docs/plugins/inspect/plugin-rtp.xml:
* docs/plugins/inspect/plugin-rtsp.xml:
* docs/plugins/inspect/plugin-smpte.xml:
* docs/plugins/inspect/plugin-soup.xml:
* docs/plugins/inspect/plugin-spectrum.xml:
* docs/plugins/inspect/plugin-speex.xml:
* docs/plugins/inspect/plugin-taglib.xml:
* docs/plugins/inspect/plugin-udp.xml:
* docs/plugins/inspect/plugin-video4linux2.xml:
* docs/plugins/inspect/plugin-videobalance.xml:
* docs/plugins/inspect/plugin-videobox.xml:
* docs/plugins/inspect/plugin-videocrop.xml:
* docs/plugins/inspect/plugin-videoflip.xml:
* docs/plugins/inspect/plugin-videomixer.xml:
* docs/plugins/inspect/plugin-wavenc.xml:
* docs/plugins/inspect/plugin-wavpack.xml:
* docs/plugins/inspect/plugin-wavparse.xml:
* docs/plugins/inspect/plugin-ximagesrc.xml:
* gst/debug/Makefile.am:
* gst/debug/breakmydata.c:
* gst/debug/efence.c:
* gst/debug/gstdebug.c:
* gst/debug/gstnavseek.c:
* gst/debug/gstpushfilesrc.c:
* gst/debug/gstpushfilesrc.h:
* gst/debug/negotiation.c:
* gst/debug/progressreport.c:
* gst/debug/progressreport.h:
* gst/debug/rndbuffersize.c:
* gst/debug/testplugin.c:
Remove dummy plugin_init. Remove some undefined entries from doc-
section file. Add taginject element and rebuild docs for it.
2008-06-11 14:11:16 +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
Olivier Crete
86c4b045ea gst/rtp/gstrtptheorapay.c: The Theora RTP payloader only supports the "inline" delievery method so let's declare this...
Original commit message from CVS:
Patch by: Olivier Crete <tester at tester dot ca>
* gst/rtp/gstrtptheorapay.c:
The Theora RTP payloader only supports the "inline" delievery method
so let's declare this on the caps of the static pad template.
Fixes bug #537675.
2008-06-11 08:56:16 +00:00
Wim Taymans
06fa431cef gst/videomixer/videomixer.c: Remove bogus check.
Original commit message from CVS:
* gst/videomixer/videomixer.c: (gst_videomixer_fill_queues),
(gst_videomixer_blend_buffers), (gst_videomixer_update_queues):
Remove bogus check.
2008-06-10 17:20:45 +00:00
Wim Taymans
515b32d5aa gst/videomixer/videomixer.c: Use stream_time to synchronize the object properties.
Original commit message from CVS:
* gst/videomixer/videomixer.c: (gst_videomixer_fill_queues),
(gst_videomixer_blend_buffers):
Use stream_time to synchronize the object properties.
Use running_time of the master pad to timestamp outgoing buffers.
Fix the initial segment event to extend an unknown amount of time.
Fixes #537361.
2008-06-10 16:25:24 +00:00
Wim Taymans
b28a5162af gst/avi/gstavidemux.c: Try to ignore unparsable/unknown streams and give a warning instead of erroring out. Fixes #53...
Original commit message from CVS:
* gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream),
(gst_avi_demux_parse_index), (gst_avi_demux_massage_index),
(gst_avi_demux_calculate_durations_from_index),
(gst_avi_demux_stream_header_push),
(gst_avi_demux_stream_header_pull):
Try to ignore unparsable/unknown streams and give a warning instead of
erroring out. Fixes #537377.
2008-06-10 11:05:30 +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
7537a1c39f gst/interleave/: Properly implement duration and position queries in bytes format. We have to take the upstream reply...
Original commit message from CVS:
* gst/interleave/deinterleave.c: (gst_deinterleave_add_new_pads),
(gst_deinterleave_src_query):
* gst/interleave/interleave.c: (gst_interleave_src_query_duration),
(gst_interleave_src_query):
Properly implement duration and position queries in bytes format. We
have to take the upstream reply and divide/multiply it by the number
of channels to get the correct result.
2008-06-05 11:07:17 +00:00
Thijs Vermeir
61a15f8c5f gst/avi/gstavidemux.c: Catch UNEXPECTED when downstream has reached end of segment in reverse mode.
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Catch UNEXPECTED when downstream has reached end of
segment in reverse mode.
2008-06-05 09:45:00 +00:00
Thijs Vermeir
8057839bdd gst/avi/gstavidemux.c: Fix typo in comment
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Fix typo in comment
2008-06-04 18:08:35 +00:00
Thijs Vermeir
b950285ac7 gst/avi/gstavidemux.c: Because we don't know the frame order we need to push till the next keyframe
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Because we don't know the frame order we need to push till
the next keyframe
2008-06-04 18:03:24 +00:00
Thijs Vermeir
f1c5dc21b4 gst/avi/gstavidemux.c: Set EOS when going out of the segment in reverse playback
Original commit message from CVS:
* gst/avi/gstavidemux.c:
Set EOS when going out of the segment in reverse playback
2008-06-04 16:49:26 +00:00
Peter Kjellerstedt
d60878ab14 gst/rtsp/gstrtspsrc.c: Use the new gst_rtsp_connection_get_ip() to access the IP address of a GstRTSPConnection since...
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_stream_configure_udp_sink):
Use the new gst_rtsp_connection_get_ip() to access the IP address
of a GstRTSPConnection since it is a private member.
2008-06-04 11:59:18 +00:00
Tim-Philipp Müller
21c48f1a1d Use new utility functions in libgsttag to process coverart (#512333).
Original commit message from CVS:
* ext/flac/gstflacdec.c: (gst_flac_extract_picture_buffer):
* gst/id3demux/id3v2frames.c: (parse_picture_frame):
Use new utility functions in libgsttag to process coverart (#512333).
2008-06-04 10:42:46 +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
Sebastian Dröge
1169ebe789 gst/interleave/interleave.*: Use an always increasing integer for the number in the name of the requested sink pads t...
Original commit message from CVS:
* gst/interleave/interleave.c: (gst_interleave_pad_get_type),
(gst_interleave_pad_get_property), (gst_interleave_pad_class_init),
(gst_interleave_request_new_pad), (gst_interleave_release_pad):
* gst/interleave/interleave.h:
Use an always increasing integer for the number in the name of the
requested sink pads to guarantuee a unique name. Add a "channel"
property to GstInterleavePad to make it possible for applications
to retrieve the channel number in the output for every pad.
Use g_type_register_static_simple() instead of
g_type_register_static() to save some relocations.
2008-06-04 06:48:46 +00:00
Sebastian Dröge
1f9de0b3f9 gst/interleave/interleave.c: Stop GstCollectPads before calling the parent's state change function when going from PA...
Original commit message from CVS:
* gst/interleave/interleave.c: (gst_interleave_pad_get_type),
(gst_interleave_change_state):
Stop GstCollectPads before calling the parent's state change function
when going from PAUSED to READY as we otherwise deadlock.
Fixes bug #536258.
2008-06-03 14:35:59 +00:00
Sebastian Dröge
755bdbebf6 gst/interleave/interleave.c: Use new gst_audio_check_channel_positions() function and register the GstInterleavePad t...
Original commit message from CVS:
* gst/interleave/interleave.c:
(gst_interleave_check_channel_positions),
(gst_interleave_set_channel_positions),
(gst_interleave_class_init):
Use new gst_audio_check_channel_positions() function and register
the GstInterleavePad type from a threadsafe context.
2008-06-03 09:03:19 +00:00
Thijs Vermeir
2c6e50598e gst/avi/gstavidemux.*: Implement reverse playback. Fixes #535300.
Original commit message from CVS:
Patch by: Thijs Vermeir <thijsvermeir at gmail dot com>
* gst/avi/gstavidemux.c: (gst_avi_demux_index_next),
(gst_avi_demux_index_prev), (gst_avi_demux_index_entry_for_time),
(gst_avi_demux_do_seek), (gst_avi_demux_handle_seek),
(gst_avi_demux_process_next_entry):
* gst/avi/gstavidemux.h:
Implement reverse playback. Fixes #535300.
Small cleanups.
2008-06-02 16:10:00 +00:00
Sebastian Dröge
35a5e9d33f gst/interleave/interleave.*: Allow setting channel positions via a property and allow using the channel positions on ...
Original commit message from CVS:
* gst/interleave/interleave.c: (gst_interleave_pad_get_type),
(gst_interleave_finalize), (gst_audio_check_channel_positions),
(gst_interleave_set_channel_positions),
(gst_interleave_class_init), (gst_interleave_init),
(gst_interleave_set_property), (gst_interleave_get_property),
(gst_interleave_request_new_pad), (gst_interleave_release_pad),
(gst_interleave_sink_setcaps), (gst_interleave_src_query_duration),
(gst_interleave_src_query_latency), (gst_interleave_collected):
* gst/interleave/interleave.h:
Allow setting channel positions via a property and allow using the
channel positions on the input as the channel positions of the output.
Fix some broken logic and memory leaks.
* tests/check/Makefile.am:
* tests/check/elements/interleave.c: (src_handoff_float32),
(sink_handoff_float32), (GST_START_TEST), (interleave_suite):
Add unit tests for checking correct handling of channel positions.
2008-06-02 12:42:14 +00:00
Sebastian Dröge
0275425212 gst/videomixer/videomixer.c: When using gst_element_iterate_pads() one has to unref every pad after usage.
Original commit message from CVS:
* gst/videomixer/videomixer.c: (gst_videomixer_query_duration),
(gst_videomixer_query_latency):
When using gst_element_iterate_pads() one has to unref every pad
after usage.
2008-06-02 12:22:56 +00:00
Bastien Nocera
facf5d90c7 gst/qtdemux/: Improve meta-data handling, add 'comment', 'description' and 'copyright' tag handling.
Original commit message from CVS:
Patch by: Bastien Nocera <hadess at hadess dot net>
* gst/qtdemux/qtdemux.c: (qtdemux_tag_add_str),
(qtdemux_parse_udta):
* gst/qtdemux/qtdemux_fourcc.h:
Improve meta-data handling, add 'comment', 'description' and
'copyright' tag handling.
Fixes #535935
2008-05-31 16:53:23 +00:00
Julien Moutte
c39a49245f gst/qtdemux/qtdemux.c: Make sure we we don't clip the segment's stop using the main segment duration as that could cr...
Original commit message from CVS:
2008-05-31  Julien Moutte  <julien@fluendo.com>

* gst/qtdemux/qtdemux.c: (gst_qtdemux_find_keyframe),
(gst_qtdemux_find_segment), (gst_qtdemux_perform_seek),
(gst_qtdemux_seek_to_previous_keyframe),
(gst_qtdemux_activate_segment), (gst_qtdemux_loop): Make sure we
we don't clip the segment's stop using the main segment duration
as
that could crop quite some video frames. Make reverse playback
support
more robust and support edit lists. Support seeking to the last
frame,
and fix reverse looping playback. Add some debugging.
* win32/common/config.h: Updated.
2008-05-31 15:30:41 +00:00
Sebastian Dröge
f6ef43bbd7 gst/equalizer/gstiirequalizer.c: Don't clip float/double samples, correctly unset passthrough mode and use better rou...
Original commit message from CVS:
* gst/equalizer/gstiirequalizer.c:
(gst_iir_equalizer_transform_ip):
Don't clip float/double samples, correctly unset passthrough mode
and use better rounding for integer samples.
2008-05-31 08:37:00 +00:00
Sebastian Dröge
c17d49ee20 gst/equalizer/gstiirequalizer.*: Update the filter coefficients only when needed in the transform_ip function and cor...
Original commit message from CVS:
* gst/equalizer/gstiirequalizer.c:
(gst_iir_equalizer_band_set_property), (gst_iir_equalizer_init),
(setup_filter), (set_passthrough), (update_coefficients),
(gst_iir_equalizer_compute_frequencies),
(gst_iir_equalizer_transform_ip):
* gst/equalizer/gstiirequalizer.h:
Update the filter coefficients only when needed in the transform_ip
function and correctly set the element into passthrough mode if the
gain of all bands is 0.
2008-05-30 11:03:57 +00:00
Sebastian Keller
4ffab084be gst/alpha/gstalpha.c: Try to skip pixels or areas that are too dark or too bright for us to do meaningfull color dete...
Original commit message from CVS:
Based on patch by: Sebastian Keller <sebastian-keller at gmx dot de>
* gst/alpha/gstalpha.c: (gst_alpha_class_init), (gst_alpha_init),
(gst_alpha_set_property), (gst_alpha_get_property),
(gst_alpha_chroma_key_ayuv), (gst_alpha_chromakey_row_i420):
Try to skip pixels or areas that are too dark or too bright for us to do
meaningfull color detection.
Added properties to control the sensitivity to light and darkness.
Added some small cleanups. Fixes #512345.
2008-05-29 11:30:16 +00:00
Stefan Kost
9c17a6006f Rename audiovoice to audiokaraoke and add it to the docs.
Original commit message from CVS:
* docs/plugins/Makefile.am:
* docs/plugins/gst-plugins-good-plugins-docs.sgml:
* docs/plugins/gst-plugins-good-plugins-sections.txt:
* docs/plugins/gst-plugins-good-plugins.args:
* docs/plugins/gst-plugins-good-plugins.hierarchy:
* docs/plugins/inspect/plugin-audiofx.xml:
* gst/audiofx/Makefile.am:
* gst/audiofx/audiofx.c:
* gst/audiofx/audiokaraoke.c:
* gst/audiofx/audiokaraoke.h:
* gst/audiofx/audiovoice.c:
* gst/audiofx/audiovoice.h:
Rename audiovoice to audiokaraoke and add it to the docs.
2008-05-28 14:07:21 +00:00
Sebastian Dröge
abe4291d7a gst/videomixer/videomixer.*: duration and latency queries.
Original commit message from CVS:
* gst/videomixer/videomixer.c: (gst_videomixer_reset),
(gst_videomixer_init), (gst_videomixer_query_duration),
(gst_videomixer_query_latency), (gst_videomixer_query),
(gst_videomixer_blend_buffers):
* gst/videomixer/videomixer.h:
Implement position (in time), duration and latency queries.
2008-05-28 08:36:44 +00:00
Sebastian Dröge
9de1e35ec1 gst/interleave/interleave.c: Implement latency query.
Original commit message from CVS:
* gst/interleave/interleave.c: (gst_interleave_src_query_duration),
(gst_interleave_src_query_latency), (gst_interleave_src_query):
Implement latency query.
2008-05-28 08:14:16 +00:00
Edward Hervey
3ada650b62 gst/videomixer/videomixer.*: Implement proper seek/newsegment handling.
Original commit message from CVS:
* gst/videomixer/videomixer.c: (gst_videomixer_reset),
(gst_videomixer_init), (gst_videomixer_request_new_pad),
(gst_videomixer_fill_queues), (forward_event_func),
(forward_event), (gst_videomixer_src_event),
(gst_videomixer_sink_event):
* gst/videomixer/videomixer.h:
Implement proper seek/newsegment handling.
Based on adder's implementation.
Fixes #535121
2008-05-27 17:55:30 +00:00