summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* gst/matroska/: Use a GArray for storing the Cue (i.e. seek) information, ↵Sebastian Dröge2008-06-154-69/+150
| | | | | | | | | | | | | | | | | | | | 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.
* gst/matroska/matroska-mux.*: Don't write another SeekHead which indexes all ↵Sebastian Dröge2008-06-153-64/+11
| | | | | | | | | | | | 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.
* gst/matroska/ebml-read.c: Prevent unaligned memory access when reading floats.Sebastian Dröge2008-06-152-20/+17
| | | | | | Original commit message from CVS: * gst/matroska/ebml-read.c: (_ext2dbl), (gst_ebml_read_float): Prevent unaligned memory access when reading floats.
* gst/matroska/: Make sure that every Tags element is only parsed once and ↵Sebastian Dröge2008-06-155-1/+51
| | | | | | | | | | | | | 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.
* gst/matroska/: Handle EBML elements like Void or CRC32 in the EbmlRead base ↵Sebastian Dröge2008-06-153-45/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* gst/matroska/: Reverse the level list as we usually are only interested in ↵Sebastian Dröge2008-06-143-14/+71
| | | | | | | | | | | | | | | | 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.
* gst/debug/gsttaginject.c: Don't unref NULL taglist in finalize. Don't use ↵Tim-Philipp Müller2008-06-132-7/+18
| | | | | | | | | | 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.
* gst/matroska/: Use gst_value_serialize() and gst_value_deserialize() for ↵Sebastian Dröge2008-06-133-13/+21
| | | | | | | | | | | | | | 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.
* gst/matroska/matroska-demux.*: Only parse Tracks, SeekHead and SegmentInfo ↵Sebastian Dröge2008-06-133-59/+264
| | | | | | | | | | | | | | | | | | | | | | | 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.
* gst/replaygain/: More doc updates.Stefan Kost2008-06-133-38/+28
| | | | | | | | Original commit message from CVS: * gst/replaygain/gstrganalysis.c: * gst/replaygain/gstrglimiter.c: * gst/replaygain/gstrgvolume.c: More doc updates.
* docs/plugins/: docs/plugins/inspect/plugin-mythtv.xmlStefan Kost2008-06-132-38/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* gst/udp/gstudpsrc.*: Add property to control automatic join/leave of ↵Wim Taymans2008-06-133-54/+90
| | | | | | | | | | | | | | | | | | | | | 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
* gst/udp/gstudpnetutils.c: Use g_ntohl for better portability.Wim Taymans2008-06-132-1/+6
| | | | | | Original commit message from CVS: * gst/udp/gstudpnetutils.c: (gst_udp_is_multicast): Use g_ntohl for better portability.
* gst/udp/gstmultiudpsink.c: Fix a typo and do some small cleanups.Wim Taymans2008-06-132-4/+10
| | | | | | | Original commit message from CVS: * gst/udp/gstmultiudpsink.c: (gst_multiudpsink_init_send), (gst_multiudpsink_remove): Fix a typo and do some small cleanups.
* gst/rtp/gstrtptheoradepay.c: Make the delivery-method mandatory on the caps ↵Olivier Crete2008-06-134-22/+39
| | | | | | | | | | | | | | | | | | 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.
* gst/rtsp/gstrtspsrc.c: Set udpsrc for receiving data from multicast groups ↵Wim Taymans2008-06-122-2/+8
| | | | | | | | | 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.
* gst/avi/gstavimux.c: Simplify code. gst_tag_list_merge() does the NULL ↵Stefan Kost2008-06-122-8/+10
| | | | | | | | | 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.
* gst/debug/gsttaginject.*: Now actually adding the new element.Stefan Kost2008-06-113-0/+258
| | | | | | | Original commit message from CVS: * gst/debug/gsttaginject.c: * gst/debug/gsttaginject.h: Now actually adding the new element.
* Remove dummy plugin_init. Remove some undefined entries from doc- section ↵Stefan Kost2008-06-1179-1028/+1100
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* gst/matroska/matroska-mux.c: Update the counter for the number of streams ↵Sebastian Dröge2008-06-112-0/+11
| | | | | | | | | | | 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.
* gst/matroska/: Add some more tags, improve debugging a bit and make sure thatSebastian Dröge2008-06-114-26/+55
| | | | | | | | | | | 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.
* gst/rtp/gstrtptheorapay.c: The Theora RTP payloader only supports the ↵Olivier Crete2008-06-112-1/+35
| | | | | | | | | | | "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.
* gst/videomixer/videomixer.c: Remove bogus check.Wim Taymans2008-06-102-2/+9
| | | | | | | Original commit message from CVS: * gst/videomixer/videomixer.c: (gst_videomixer_fill_queues), (gst_videomixer_blend_buffers), (gst_videomixer_update_queues): Remove bogus check.
* gst/videomixer/videomixer.c: Use stream_time to synchronize the object ↵Wim Taymans2008-06-102-7/+35
| | | | | | | | | | | | 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.
* gst/avi/gstavidemux.c: Try to ignore unparsable/unknown streams and give a ↵Wim Taymans2008-06-102-13/+31
| | | | | | | | | | | | | 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.
* gst/matroska/ebml-write.c: Use GDOUBLE_TO_BE() instead of (probably slower) ↵Sebastian Dröge2008-06-107-333/+1043
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* ext/pulse/: Some smaller cleanup. Use G_PARAM_STATIC_STRINGS, ↵Sebastian Dröge2008-06-104-41/+51
| | | | | | | | | | | | | | | | gst_element_class_set_details_simple() and fix coding s... Original commit message from CVS: * ext/pulse/pulsemixer.c: (gst_pulsemixer_base_init), (gst_pulsemixer_class_init): * ext/pulse/pulsesink.c: (gst_pulsesink_base_init), (gst_pulsesink_class_init), (gst_pulsesink_prepare): * ext/pulse/pulsesrc.c: (gst_pulsesrc_interface_supported), (gst_pulsesrc_base_init), (gst_pulsesrc_class_init), (gst_pulsesrc_prepare): Some smaller cleanup. Use G_PARAM_STATIC_STRINGS, gst_element_class_set_details_simple() and fix coding style a bit more.
* Add documentation to the pulseaudio plugin and run make update in docs/plugins.Sebastian Dröge2008-06-1072-928/+1271
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-pulseaudio.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: * ext/pulse/plugin.c: * ext/pulse/pulsemixer.c: * ext/pulse/pulsesink.c: * ext/pulse/pulsesrc.c: Add documentation to the pulseaudio plugin and run make update in docs/plugins.
* sys/sunaudio/gstsunaudiomixerctrl.c: Improvements for the SunAudio mixer by ↵Brian Cameron2008-06-102-4/+42
| | | | | | | | | | | | | handling mute as no gain for tracks that ... Original commit message from CVS: Patch by: Brian Cameron <brian.cameron at sun dot com> * sys/sunaudio/gstsunaudiomixerctrl.c: (gst_sunaudiomixer_ctrl_get_volume), (gst_sunaudiomixer_ctrl_set_volume): Improvements for the SunAudio mixer by handling mute as no gain for tracks that have a gain property but no mute property. Fixes bug #536067.
* Add pulseaudio GStreamer element from gst-pulse. Development will continue ↵Sebastian Dröge2008-06-1018-0/+3634
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | here instead of pulseaudio SVN. Fixes bug ... Original commit message from CVS: * configure.ac: * ext/pulse/Makefile.am: * ext/pulse/plugin.c: (plugin_init): * ext/pulse/pulsemixer.c: (gst_pulsemixer_interface_supported), (gst_pulsemixer_implements_interface_init), (gst_pulsemixer_init_interfaces), (gst_pulsemixer_base_init), (gst_pulsemixer_class_init), (gst_pulsemixer_init), (gst_pulsemixer_finalize), (gst_pulsemixer_set_property), (gst_pulsemixer_get_property), (gst_pulsemixer_change_state): * ext/pulse/pulsemixer.h: * ext/pulse/pulsemixerctrl.c: (gst_pulsemixer_ctrl_context_state_cb), (gst_pulsemixer_ctrl_sink_info_cb), (gst_pulsemixer_ctrl_source_info_cb), (gst_pulsemixer_ctrl_subscribe_cb), (gst_pulsemixer_ctrl_success_cb), (gst_pulsemixer_ctrl_open), (gst_pulsemixer_ctrl_close), (gst_pulsemixer_ctrl_new), (gst_pulsemixer_ctrl_free), (gst_pulsemixer_ctrl_list_tracks), (gst_pulsemixer_ctrl_timeout_event), (restart_time_event), (gst_pulsemixer_ctrl_set_volume), (gst_pulsemixer_ctrl_get_volume), (gst_pulsemixer_ctrl_set_record), (gst_pulsemixer_ctrl_set_mute): * ext/pulse/pulsemixerctrl.h: * ext/pulse/pulsemixertrack.c: (gst_pulsemixer_track_class_init), (gst_pulsemixer_track_init), (gst_pulsemixer_track_new): * ext/pulse/pulsemixertrack.h: * ext/pulse/pulseprobe.c: (gst_pulseprobe_context_state_cb), (gst_pulseprobe_sink_info_cb), (gst_pulseprobe_source_info_cb), (gst_pulseprobe_invalidate), (gst_pulseprobe_open), (gst_pulseprobe_enumerate), (gst_pulseprobe_close), (gst_pulseprobe_new), (gst_pulseprobe_free), (gst_pulseprobe_get_properties), (gst_pulseprobe_needs_probe), (gst_pulseprobe_probe_property), (gst_pulseprobe_get_values), (gst_pulseprobe_set_server): * ext/pulse/pulseprobe.h: * ext/pulse/pulsesink.c: (gst_pulsesink_base_init), (gst_pulsesink_class_init), (gst_pulsesink_init), (gst_pulsesink_destroy_stream), (gst_pulsesink_destroy_context), (gst_pulsesink_finalize), (gst_pulsesink_dispose), (gst_pulsesink_set_property), (gst_pulsesink_get_property), (gst_pulsesink_context_state_cb), (gst_pulsesink_stream_state_cb), (gst_pulsesink_stream_request_cb), (gst_pulsesink_stream_latency_update_cb), (gst_pulsesink_open), (gst_pulsesink_close), (gst_pulsesink_prepare), (gst_pulsesink_unprepare), (gst_pulsesink_write), (gst_pulsesink_delay), (gst_pulsesink_success_cb), (gst_pulsesink_reset), (gst_pulsesink_change_title), (gst_pulsesink_event), (gst_pulsesink_get_type): * ext/pulse/pulsesink.h: * ext/pulse/pulsesrc.c: (gst_pulsesrc_interface_supported), (gst_pulsesrc_implements_interface_init), (gst_pulsesrc_init_interfaces), (gst_pulsesrc_base_init), (gst_pulsesrc_class_init), (gst_pulsesrc_init), (gst_pulsesrc_destroy_stream), (gst_pulsesrc_destroy_context), (gst_pulsesrc_finalize), (gst_pulsesrc_dispose), (gst_pulsesrc_set_property), (gst_pulsesrc_get_property), (gst_pulsesrc_context_state_cb), (gst_pulsesrc_stream_state_cb), (gst_pulsesrc_stream_request_cb), (gst_pulsesrc_open), (gst_pulsesrc_close), (gst_pulsesrc_prepare), (gst_pulsesrc_unprepare), (gst_pulsesrc_read), (gst_pulsesrc_delay), (gst_pulsesrc_change_state), (gst_pulsesrc_get_type): * ext/pulse/pulsesrc.h: * ext/pulse/pulseutil.c: (gst_pulse_fill_sample_spec), (gst_pulse_client_name), (gst_pulse_gst_to_channel_map): * ext/pulse/pulseutil.h: Add pulseaudio GStreamer element from gst-pulse. Development will continue here instead of pulseaudio SVN. Fixes bug #400679. Only changes over gst-pulse SVN are added copyright to the top of files and coding style changes.
* ext/cdio/: Also extract album title and album genre from CD-TEXT if ↵Benjamin Kampmann2008-06-094-0/+36
| | | | | | | | | | | | | available (#537021). Original commit message from CVS: Patch by: Benjamin Kampmann <benjamin at fluendo dot com> * ext/cdio/gstcdio.c: (gst_cdio_get_cdtext), (gst_cdio_add_cdtext_album_tags): * ext/cdio/gstcdio.h: * ext/cdio/gstcdiocddasrc.c: (gst_cdio_cdda_src_open): Also extract album title and album genre from CD-TEXT if available (#537021).
* sys/v4l2/gstv4l2src.c: Improve negotiation a bit more by picking the ↵Sjoerd Simons2008-06-092-5/+49
| | | | | | | | | | | smallest possible resolution that is larger than... Original commit message from CVS: Patch by: Sjoerd Simons <sjoerd at luon dot net> * sys/v4l2/gstv4l2src.c: (gst_v4l2src_negotiate): Improve negotiation a bit more by picking the smallest possible resolution that is larger than the resolution specified in the first caps entry of the peer caps. Fixes bug #536994.
* sys/v4l2/: Fix compilation with newer GIT kernels that deprecatedBastien Nocera2008-06-093-0/+38
| | | | | | | | | Original commit message from CVS: Patch by: Bastien Nocera <hadess at hadess dot net> * sys/v4l2/gstv4l2vidorient.c: * sys/v4l2/v4l2_calls.c: (gst_v4l2_fill_lists): Fix compilation with newer GIT kernels that deprecated V4L2_CID_HCENTER and V4L2_CID_VCENTER. Fixes bug #536317.
* Require libcdio >= 0.76.Tim-Philipp Müller2008-06-076-28/+11
| | | | | | | | | Original commit message from CVS: * configure.ac: * ext/cdio/gstcdio.c: * ext/cdio/gstcdio.h: * ext/cdio/gstcdiocddasrc.c: (gst_cdio_cdda_src_open): Require libcdio >= 0.76.
* gst/interleave/: Properly implement duration and position queries in bytes ↵Sebastian Dröge2008-06-052-0/+85
| | | | | | | | | | | | | 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.
* gst/avi/gstavidemux.c: Catch UNEXPECTED when downstream has reached end of ↵Thijs Vermeir2008-06-053-24/+66
| | | | | | | | | 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.
* gst/avi/gstavidemux.c: Fix typo in commentThijs Vermeir2008-06-042-1/+6
| | | | | | Original commit message from CVS: * gst/avi/gstavidemux.c: Fix typo in comment
* gst/avi/gstavidemux.c: Because we don't know the frame order we need to push ↵Thijs Vermeir2008-06-042-4/+20
| | | | | | | | | 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
* sys/v4l2/gstv4l2src.c: Provide a custom negotiation function to make sure to ↵Sjoerd Simons2008-06-042-2/+138
| | | | | | | | | | | pick the highest possible framerate and ... Original commit message from CVS: Patch by: Sjoerd Simons <sjoerd at luon dot net> * sys/v4l2/gstv4l2src.c: (gst_v4l2src_class_init), (gst_v4l2src_fixate), (gst_v4l2src_negotiate): Provide a custom negotiation function to make sure to pick the highest possible framerate and resolution. Fixes bug #536646.
* gst/avi/gstavidemux.c: Set EOS when going out of the segment in reverse playbackThijs Vermeir2008-06-042-4/+24
| | | | | | Original commit message from CVS: * gst/avi/gstavidemux.c: Set EOS when going out of the segment in reverse playback
* ext/taglib/Makefile.am: Add -Wno-attributes to CXXFLAGS to suppress warning ↵Tim-Philipp Müller2008-06-042-1/+7
| | | | | | | | | caused by taglib headers (with gcc 4.3.1). Original commit message from CVS: * ext/taglib/Makefile.am:: Add -Wno-attributes to CXXFLAGS to suppress warning caused by taglib headers (with gcc 4.3.1).
* gst/rtsp/gstrtspsrc.c: Use the new gst_rtsp_connection_get_ip() to access ↵Peter Kjellerstedt2008-06-042-2/+9
| | | | | | | | | 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.
* Use new utility functions in libgsttag to process coverart (#512333).Tim-Philipp Müller2008-06-043-192/+20
| | | | | | | 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).
* ext/flac/gstflacdec.c: We actually support left/side, right/side and ↵Sebastian Dröge2008-06-042-7/+76
| | | | | | | | | mid/side files. The conversion to normal, interl... Original commit message from CVS: * ext/flac/gstflacdec.c: (gst_flac_dec_write): We actually support left/side, right/side and mid/side files. The conversion to normal, interleaved stereo is done by libflac.
* gst/matroska/ebml-write.c: Unref the write cache in finalize if it was set ↵Sebastian Dröge2008-06-042-1/+21
| | | | | | | | | | 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.
* gst/interleave/interleave.*: Use an always increasing integer for the number ↵Sebastian Dröge2008-06-042-16/+51
| | | | | | | | | | | | | | | | 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.
* gst/interleave/interleave.c: Stop GstCollectPads before calling the parent's ↵Sebastian Dröge2008-06-031-3/+8
| | | | | | | | | | | 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.
* gst/interleave/interleave.c: Use new gst_audio_check_channel_positions() ↵Sebastian Dröge2008-06-031-78/+12
| | | | | | | | | | | | 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.
* gst/avi/gstavidemux.*: Implement reverse playback. Fixes #535300.Thijs Vermeir2008-06-023-48/+166
| | | | | | | | | | | | 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.
* gst/interleave/interleave.*: Allow setting channel positions via a property ↵Sebastian Dröge2008-06-023-44/+662
| | | | | | | | | | | | | | | | | | | | | | 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.