summaryrefslogtreecommitdiffstats
path: root/gst/matroska/matroska-mux.c
Commit message (Collapse)AuthorAgeFilesLines
* gst/matroska/matroska-mux.c: Fix possible deadlock in matroska muxer (#327825).Tim-Philipp Müller2006-01-231-29/+42
| | | | | | | | 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).
* gst/matroska/matroska-mux.c: Look for pixel-aspect-ratio in caps, not ↵Jan Schmidt2005-11-281-4/+2
| | | | | | | | | | 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)
* gst/matroska/matroska-mux.c: From Michal Benes: frame duration should be ↵Jan Schmidt2005-11-281-2/+2
| | | | | | | | | | | 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)
* Fixes for API changesJan Schmidt2005-11-231-1/+1
| | | | | | | | | | | | 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
* More fractional framerate conversionsJan Schmidt2005-11-221-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Fix for collect pads API change. Also fix textoverlay state change function.Tim-Philipp Müller2005-11-211-7/+7
| | | | | | | | | | | | | | | | | | 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.
* gst/matroska/matroska-mux.c: ReplaceJulien Moutte2005-11-201-1/+2
| | | | | | | | 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.
* gst/matroska/matroska-mux.c: Fix forJulien Moutte2005-11-201-2/+1
| | | | | | | | | | | | 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.
* gst/matroska/matroska-mux.c: Don't try to ready buffer duration from buffer ↵Tim-Philipp Müller2005-11-101-4/+2
| | | | | | | | | | | 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)
* Fix leaks and invalid memory access as reported by valgrindThomas Vander Stichele2005-11-011-11/+18
| | | | | | | | | | | | 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
* add a unit test for matroskamux fix the bugs that the unit test exposedMichal Benes2005-11-011-8/+4
| | | | | | | | | | | | 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
* gst/matroska/: Set timestamps on outgoing ebml headers as well, so that the ↵Tim-Philipp Müller2005-11-011-0/+3
| | | | | | | | | | | | | | | 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).
* gst/matroska/: Add SimpleBlock support to matroska demuxer and muxer (part ofTim-Philipp Müller2005-10-281-20/+83
| | | | | | | | | | | | | | | | | | 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)
* gst/matroska/matroska-demux.c: Fix duration query; fix basetime in ↵Tim-Philipp Müller2005-10-201-15/+23
| | | | | | | | | | | | | | | | | 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.
* API change fix.Wim Taymans2005-10-191-3/+3
| | | | | | | | | | | | | | | | | | | | | | 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.
* gst/matroska/matroska-mux.c: Fix mpeg4 input handling (#318847); also, while ↵Tim-Philipp Müller2005-10-181-3/+9
| | | | | | | | | | | | 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.
* Port matroska muxer to 0.9 (#318847).Tim-Philipp Müller2005-10-141-237/+537
| | | | | | | | | | | | | | | 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).
* All plugins updated for element state changes.Andy Wingo2005-09-021-8/+9
| | | | | | | Original commit message from CVS: 2005-09-02 Andy Wingo <wingo@pobox.com> * All plugins updated for element state changes.
* ext/alsa/gstalsa.c: Reset variables on READY.Ronald S. Bultje2005-01-091-1/+6
| | | | | | | | | 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.
* ext/dv/gstdvdec.c: Fix audio caps i just broke (missing ',')Stéphane Loeuillet2005-01-071-1/+3
| | | | | | | | | 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
* set correct buffer durations in mp3parse, set default_duration in ↵Arwed v. Merkatz2004-12-061-0/+6
| | | | | | | matroskamux for mpeg1 audio Original commit message from CVS: set correct buffer durations in mp3parse, set default_duration in matroskamux for mpeg1 audio
* use audio/x-ttafile and audio/x-tta for tta instead of audio/x-tta and ↵Arwed v. Merkatz2004-09-151-2/+2
| | | | | | | 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
* Write meta-seek information (seek heads).Arwed v. Merkatz2004-09-091-0/+59
| | | | | Original commit message from CVS: Write meta-seek information (seek heads).
* Write multiple blocks/frames per cluster.Arwed v. Merkatz2004-09-091-10/+38
| | | | | Original commit message from CVS: Write multiple blocks/frames per cluster.
* Create cue entries for audio only files.Arwed v. Merkatz2004-09-011-4/+17
| | | | | | Original commit message from CVS: Create cue entries for audio only files. Fix writing of CUETIME, wrongly used gst_ebml_write_date.
* Write track and segment UIDs, write muxing date, write TRACKDEFAULTDURATION ↵Arwed v. Merkatz2004-09-011-6/+64
| | | | | | | 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.
* Mux video/x-divx and video/x-xvid in VFW compatibility mode so it actually worksArwed v. Merkatz2004-08-271-4/+32
| | | | | Original commit message from CVS: Mux video/x-divx and video/x-xvid in VFW compatibility mode so it actually works
* Fix byte order reversion for writing ebml floats.Arwed v. Merkatz2004-08-261-10/+61
| | | | | | | 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.
* add debug categories to matroskaThomas Vander Stichele2004-07-181-0/+6
| | | | | Original commit message from CVS: add debug categories to matroska
* first batch : remove ',' at end of enums as they could confuse older gcc, ↵Stéphane Loeuillet2004-05-211-2/+2
| | | | | | | | | 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
* don't mix tabs and spacesThomas Vander Stichele2004-03-151-105/+105
| | | | | Original commit message from CVS: don't mix tabs and spaces
* gst-indentThomas Vander Stichele2004-03-141-236/+207
| | | | | Original commit message from CVS: gst-indent
* Merge CAPS branchDavid Schleef2003-12-221-265/+222
| | | | | Original commit message from CVS: Merge CAPS branch
* configure.ac: Improve mpeg2enc detection. This is for distributions that do ↵Ronald S. Bultje2003-12-211-7/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Sorry Dave... Add mpegversion=1 to mp3 caps everywhere so that the ↵Ronald S. Bultje2003-12-181-1/+1
| | | | | | | 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.
* Riff, EBML, fourcc etc. work. Not fully finished, but better than what we ↵Ronald S. Bultje2003-12-071-0/+961
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!