2008-01-26 Sebastian Dröge * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_video_frame): Initialize hurry_up to 0 to fix "might be used uninitialized" compiler warning. 2008-01-25 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_base_init), (gst_ffmpegdec_setcaps), (gst_ffmpegdec_video_frame): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_base_init): When doing QoS, don't drop the frame before decoding because we might drop an important reference frame, just make the decoder hurry_up on this frame. 2008-01-25 Wim Taymans * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_get_codecids): Add H263+ to valid 3GP muxing formats. Fixes #511476. 2008-01-23 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init), (gst_ffmpegdec_init), (get_output_buffer), (gst_ffmpegdec_chain), (gst_ffmpegdec_change_state), (gst_ffmpegdec_set_property), (gst_ffmpegdec_get_property): Add padding to input data before feeding it to ffmpeg. Also add option to disable this (although it does not seem to cause slowdown). 2008-01-23 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps), (alloc_output_buffer), (gst_ffmpegdec_get_buffer), (gst_ffmpegdec_release_buffer), (gst_ffmpegdec_negotiate), (get_output_buffer): Change the pad_alloc calculations for weird clipped sizes, refactor the code a bit. Add support for some different refcounting algorithm. Direct rendering still disabled by default. 2008-01-22 Edward Hervey * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init): Disable direct-rendering by default until buffer allocation works correctly. Rename the alias of the direct rendering property from 'direct' to 'direct-rendering'. 2008-01-22 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps), (gst_ffmpegdec_get_buffer): Disable direct rendering for h264 since it does not always work. 2008-01-22 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_set_property), (gst_ffmpegdec_get_property): Implement get/set for the new property too. 2008-01-22 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init), (gst_ffmpegdec_init), (gst_ffmpegdec_close), (gst_ffmpegdec_open), (gst_ffmpegdec_setcaps), (gst_ffmpegdec_get_buffer), (gst_ffmpegdec_release_buffer), (get_output_buffer), (gst_ffmpegdec_video_frame), (gst_ffmpegdec_audio_frame), (gst_ffmpegdec_frame), (gst_ffmpegdec_change_state), (gst_ffmpegdec_set_property), (gst_ffmpegdec_get_property): Reenable pad_alloc, seem to work now. Added property to easily disable it later on. Remove some old code that tried hard to break the get_buffer functions. Fixes #321662. 2008-01-22 Wim Taymans * ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_flags_get_type): Add h263 to the list of codecs using the mpeg flags and options. Add some more H263 specific flags. Fixes #421068. 2008-01-22 Sebastian Dröge * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): Don't register typefinders for which we have better replacements in base. Fixes bug #510985. 2008-01-21 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_video_frame), (gst_ffmpegdec_chain): Remove some more overly clever code that does nothing but mess up timestamps. 2008-01-18 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_drain), (gst_ffmpegdec_sink_event), (gst_ffmpegdec_chain): Flush delayed frames on DISCONT if we have them. 2008-01-18 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_video_frame), (gst_ffmpegdec_chain): Flush on DISCONT because ffmpeg does not reliably tell us about keyframes. 2008-01-18 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_init), (gst_ffmpegdec_open), (gst_ffmpegdec_get_buffer), (gst_ffmpegdec_release_buffer), (gst_ffmpegdec_video_frame), (gst_ffmpegdec_sink_event), (gst_ffmpegdec_chain): Rewrite timestamping code to let ffmpeg track timestamps. Fixes #482660, #337866. 2008-01-16 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (clear_queued), (flush_queued), (gst_ffmpegdec_video_frame), (gst_ffmpegdec_frame), (gst_ffmpegdec_sink_event), (gst_ffmpegdec_change_state): Add basic reverse playback for video. 2008-01-10 Sebastian Dröge * autogen.sh: Add -Wno-portability to the automake parameters to stop warnings about GNU make extensions being used. We require GNU make in almost every Makefile anyway. * configure.ac: Use AM_PROG_CC_C_O as a compiler that accepts both -c and -o at the same time is required for per target flags. 2008-01-09 Edward Hervey * configure.ac: postproc needs some headers present in libavcodec/*.h 2008-01-09 Stefan Kost * gst-libs/ext/Makefile.am: Remove trailing whitespace as warned by automake. 2008-01-04 Sebastian Dröge * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): Don't register the WavPack demuxer and decoder. They don't work, we have better ones and the output of the demuxer/input of the decoder is in a different format than what audio/x-wavpack of the wavpack plugin is (it seems that the demuxer strips of the wavpack headers from every frame). This fixes typefinding of Wavpack files again, as the ffmpeg typefinder was preffered for some reason and gave application/x-gst_ff-wv instead of audio/x-wavpack. 2007-12-18 Edward Hervey * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop): Fix demuxer to stop properly (emit an error message on the bus) if no pads are linked. Use aggregated flow return values a bit more. 2007-12-18 Tim-Philipp Müller * Makefile.am: Include common/win32.mak for CRLF check of win32 project files (see #393626). 2007-12-17 Sebastian Dröge * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_formatid_get_codecids), (gst_ffmpeg_get_codecid_longname): * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop), (gst_ffmpegdemux_register): * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_collected), (gst_ffmpegmux_register): Add GIF (animations and single images) decoding and encoding support. Fixes #503249. 2007-12-17 Edward Hervey * configure.ac: Minor typo in disabling cavs decoder. Now compiles AND works on x86 32 and 64 bits ! Time to merge :) 2007-12-17 Edward Hervey * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_to_codecid): * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open): Handle VC-1 properly , which is handled differently from WMV3. 2007-12-17 Edward Hervey * autogen.sh: Fix call to ffmpegrev * configure.ac: Re-apply -fPIC extra-cflag for ffmpeg while removing support for the flac encoder which is currently broken for x86/32bits with -fPIC. * ffmpegrev: Switch to latest upstream revision so we can have the split-up for flac mmx optimizations. 2007-12-15 Sebastian Dröge Based on a patch by: Hans de Goede * ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_pre_me_get_type), (gst_ffmpeg_pred_method_get_type): NULL-terminate the GEnumValue arrays, otherwise they will cause crashes. Fixes #503733. 2007-12-09 Sebastian Dröge * configure.ac: Don't define GST_DISABLE_DEPRECATED for releases. Fixes #498181. 2007-11-28 Edward Hervey * configure.ac: Temporarily remove fPIC option for building ffmpeg * ffmpegrev: Switch to latest ffmpeg checkout so people can enjoy all the niceties that have just landed (mmx optimisations for vc1 and h263, bugfixes,..) * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_collected), (gst_ffmpegmux_change_state): Adjust code to ffmpeg API changes. 2007-11-22 Edward Hervey * ext/ffmpeg/gstffmpegaudioresample.c: (gst_ffmpegaudioresample_get_unit_size), (gst_ffmpegaudioresample_transform): Correct the output size of the buffer. 2007-11-15 Edward Hervey * ext/ffmpeg/Makefile.am: * ext/ffmpeg/gstffmpeg.c: (plugin_init): * ext/ffmpeg/gstffmpeg.h: * ext/ffmpeg/gstffmpegaudioresample.c: (gst_ffmpegaudioresample_base_init), (gst_ffmpegaudioresample_class_init), (gst_ffmpegaudioresample_init), (gst_ffmpegaudioresample_finalize), (gst_ffmpegaudioresample_transform_caps), (gst_ffmpegaudioresample_transform_size), (gst_ffmpegaudioresample_get_unit_size), (gst_ffmpegaudioresample_set_caps), (gst_ffmpegaudioresample_transform), (gst_ffmpegaudioresample_register): Added new ffaudioresample element using the ffmpeg resampling code. It's (way) faster than audioresample, doesn't introduce latency, but might cause a little bit of 'clicking'. 2007-11-15 Edward Hervey * Makefile.am: * autogen.sh: * configure.ac: * ext/ffmpeg/Makefile.am: * ffmpegrev: * gst-libs/ext/Makefile.am: Initial patch of the new mirror-less build-system for gst-ffmpeg using specific revisions of ffmpeg svn instead. Might still have some issues, we need people to try this. Help by : Dejan Sakelšak * ext/ffmpeg/gstffmpeg.c: (plugin_init): * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname): * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_base_init), (gst_ffmpegdec_get_buffer), (gst_ffmpegdec_audio_frame), (gst_ffmpegdec_register): * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_averror), (gst_ffmpegdemux_register): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_register): * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_register): Update code for new ffmpeg API. 2007-12-04 Edward Hervey * configure.ac: And back to development cycle. === release 0.10.3 === 2007-12-04 Edward Hervey * configure.ac: * NEWS: * RELEASE: releasing 0.10.3, "My T-Shirt is slowly fading" 2007-11-28 Edward Hervey * configure.ac: 0.10.2.2 pre-release 2007-11-08 Edward Hervey Patch by: Ole André Vadla Ravnås * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid): * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_init): 2007-11-03 Edward Hervey * ext/ffmpeg/gstffmpeg.c: (gst_ffmpeg_avcodec_open), (gst_ffmpeg_avcodec_close), (gst_ffmpeg_av_find_stream_info), (gst_ffmpeg_log_callback), (plugin_init): * ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_mb_decision_get_type), (gst_ffmpeg_flags_get_type), (gst_ffmpeg_cfg_init), (gst_ffmpeg_cfg_codec_has_pspec), (gst_ffmpeg_cfg_install_property), (gst_ffmpeg_cfg_set_property), (gst_ffmpeg_cfg_get_property), (gst_ffmpeg_cfg_set_defaults), (gst_ffmpeg_cfg_fill_context), (gst_ffmpeg_cfg_finalize): * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps): * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open), (gst_ffmpegdec_setcaps), (gst_ffmpegdec_save_incoming_values), (gst_ffmpegdec_get_best_values), (gst_ffmpegdec_video_frame): * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_base_init), (gst_ffmpegdemux_src_query): * ext/ffmpeg/gstffmpegenc.c: (ffmpegenc_setup_working_buf), (gst_ffmpegenc_chain_video), (gst_ffmpegenc_flush_buffers): * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_open), (gst_ffmpegdata_peek), (gst_ffmpegdata_read), (gst_ffmpegdata_write), (gst_ffmpegdata_seek), (gst_ffmpegdata_close): gst-indent cleanup. 2007-10-12 Tim-Philipp Müller * configure.ac: Add big fat warning message with explanation when building against an external copy of ffmpeg. Fixes #407779. 2007-10-10 Wim Taymans Patch by: Tuomas Kulve * ext/ffmpeg/gstffmpegdec.c: Fix the return type of the setcaps function. Fixes #485033. 2007-10-05 Wim Taymans Patch by: Yann Gilquin * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_src_event): Don't return FALSE for the LATENCY event but instead forward it upstream. Fixes #482946. 2007-10-03 Stefan Kost * tests/check/generic/libavcodec-locking.c: Print message name and not just number. 2007-10-01 Wim Taymans * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_get_codecid_longname): Add Real Video 3.0 and remove some bogus caps. * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open), (gst_ffmpegdec_video_frame): When skipping because of QoS, pretend we consumed all bytes for the frame so that the pcache's timestamp is updated correctly. 2007-08-14 Edward Hervey * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): Don't set rank of sp5x video decoder to NONE. Fixes #466221 Re-order the cases of the switch statement so that the default case is last. 2007-08-07 Wim Taymans * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid): Improve debugging of codec data. realvideo caps are underspecified, use fields of alternative variant before we settle this. * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open), (gst_ffmpegdec_video_frame): Add more debugging of used parsers. Setup the realvideo slices correctly before calling the decoder, fixed realvideo in matroska. 2007-08-01 Stefan Kost * ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_cfg_install_property), (gst_ffmpeg_cfg_finalize): * ext/ffmpeg/gstffmpegcfg.h: * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_finalize), (ffmpegenc_setup_working_buf), (gst_ffmpegenc_chain_video), (gst_ffmpegenc_flush_buffers): Free strings atleast when finalizing elements. * tests/check/generic/libavcodec-locking.c: (GST_START_TEST), (simple_launch_lines_suite): Fix some leaks. 2007-08-01 Stefan Kost * configure.ac: * ext/ffmpeg/Makefile.am: Check for libm and link against it (ffmpeg is using sqrt). 2007-07-25 Julien MOUTTE * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_video_frame): * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop): Handle buffers with invalid duration correctly even in the case where we have a demuxer AND a decoder from ffmpeg linked. Fixes: #460274. 2007-07-13 Jan Schmidt * configure.ac: * tests/Makefile.am: Remove bogus check for libcheck, since we check for gstreamer-check and it pulls in the required info from there, and we weren't actually _using_ the information for libcheck ourselves anyway. 2007-07-12 Stefan Kost * configure.ac: Use pkg-config to locate check. Bump core requirement. * ext/ffmpeg/gstffmpegdeinterlace.c: (gst_ffmpegdeinterlace_chain): * ext/ffmpeg/gstffmpegscale.c: (gst_ffmpegscale_transform): Replace deprecated method. 2007-07-05 Jan Schmidt * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_video), (gst_ffmpegenc_flush_buffers): Fix the encoders by actually copying the encoded output data from the working area into the output buffer. Fixes: #453135. 2007-06-22 Jan Schmidt * ext/ffmpeg/gstffmpegenc.c: (ffmpegenc_setup_working_buf), (gst_ffmpegenc_chain_video), (gst_ffmpegenc_flush_buffers), (gst_ffmpegenc_change_state): * ext/ffmpeg/gstffmpegenc.h: Instead of allocating 512KB buffers and then setting BUFFER_SIZE to what ffmpeg produced, we're better off by far to use a single working buffer and copy data out into neat little buffers. This prevents exhorbitant virtual memory wastage in the form of allocated but untouched buffers. 2007-06-20 Stefan Kost * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_get_codecids): Enable mjpeg-codec in more containers. 2007-06-19 Stefan Kost * ext/ffmpeg/gstffmpeg.c: (gst_ffmpeg_log_callback): Cut off double \n. * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_get_codecids): Enable more codecs in containers. 2007-06-15 Jan Schmidt * win32/vs6/gst_ffmpeg.dsw: * win32/vs6/libgstffmpeg.dsp: Convert line endings to CRLF and mark files as binary. 2007-06-05 Jan Schmidt * gst-libs/ext/ffmpeg/configure.ac: * gst-libs/ext/ffmpeg/patches/autotools.patch: * gst-libs/ext/ffmpeg/patches/memalign.patch: Recognise x86_64 builds and set flags appropriately so that the MMX/SSE codepaths get enabled there - makes things considerably faster. 2007-06-05 Wim Taymans Patch by: * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_get_codecids): Add MSMPEG4V3 video and MP3 audio to the asf muxer supported formats. Fixes #444384. 2007-06-05 Wim Taymans Patch by: Jan Arne Petersen * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_src_query): Use total duration when the individual stream duration is not known. Fixes #375534. 2007-06-05 Wim Taymans Patch by: Laurent Glayal * ext/ffmpeg/gstffmpegscale.c: (gst_ffmpegscale_handle_src_event): don't leak refcounts in event handler. Fixes #444332. 2007-05-25 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (clip_video_buffer), (gst_ffmpegdec_video_frame): Be a bit smarter when clipping the frame without a duration, we don't want the frame to extend to the end of the segment in this case. 2007-05-24 Tim-Philipp Müller * configure.ac: Add -no-undefined to GST_ALL_LDFLAGS; without it, no shared libs will be built or installed on MingW for our plugins in ext/; also, it looks like the right thing to do and we do it for all our other plugin modules as well. Fixes #440253. 2007-05-21 Jan Schmidt * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_type_find): Reduce the probability of the MPEG-TS typefinder, because there's a better one in recent base releases. 2007-05-17 Edward Hervey * configure.ac: * ext/ffmpeg/Makefile.am: * ext/libpostproc/Makefile.am: Fix the build on MacOSX. This requires a recent enough version of libtool (ex : 1.5.22), since the one shipped by Apple is from the middle ages and is packed with issues. Fixes #435742 2007-05-09 Edward Hervey * ext/ffmpeg/gstffmpeg.c: (gst_ffmpeg_av_find_stream_info): * ext/ffmpeg/gstffmpeg.h: * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_open): Protect calls to ffmpeg functions that will implicitly call avcodec_open/close with the avcodec mutex. Fixes #433245 2007-05-02 Edward Hervey * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_init), (gst_ffmpegdec_open), (gst_ffmpegdec_save_incoming_values), (gst_ffmpegdec_get_best_values), (gst_ffmpegdec_video_frame), (gst_ffmpegdec_sink_event): Fix timestamping for out-of-order incoming buffers. Instead of blindly copying the incoming buffer timestamps on the outgoing buffers we cache the latest 2 incoming buffer timestamps and duration and make a wise choice as to what the outgoing buffer timestamp and duration should be. Fixes #342962 2007-04-25 Edward Hervey * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname): Remove cruft inserted by wim's last commit. 2007-04-20 Michael Smith * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_type_find): Allow ffmpeg typefinders to try and typefind very short (<4kB) files. 2007-04-12 Wim Taymans Patch by: Mark Nauwelaerts and Thomas Vander Stichele * ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_flags_get_type): * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname): Add the CODEC_FLAG_GLOBAL_HEADER to the exposed flags, and makes it as such configurable as a property. Fixes #393187. 2007-04-12 Wim Taymans Patch by: Yves Lefebvre * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps): Draw edges for h264. Fixes #364139. Set the error resilience flag just in case... 2007-03-17 Johan Dahlin * ext/ffmpeg/gstffmpegcodecmap.c (gst_ffmpeg_get_codecid_longname): Fix typo in Indeo-2 codec name 2007-03-02 Edward Hervey * ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_cfg_init): Add mpeg1video and mpeg2video to the list of mpeg-derivatives for configuration settings. Renamed the mpeg4 category to mpeg. Fixes #403739 2007-03-01 Sebastian Dröge * configure.ac: Convert to new AG_GST style. 2007-02-16 Tim-Philipp Müller * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_base_init), (gst_ffmpegdec_register): * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_base_init), (gst_ffmpegdemux_register): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_base_init), (gst_ffmpegenc_register): * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_base_init), (gst_ffmpegmux_register): Don't use GINT_TO_POINTER and GPOINTER_TO_INT with GTypes, this can break horribly if sizeof(GType) happens to be bigger than sizeof(int), because GPOINTER_TO_INT might then chop off some bits of our GType (the reason this seems to works nevertheless is the put-current-type-also-as-value-0-into-the-hash-table-as-fallback hack used in the current code). In any case, instead of just fixing this, let's not use a hash table with GTypes here at all. g_type_{set|get}_qdata() seems to do the job just as well. 2007-02-14 Edward Hervey * ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_flags_get_type): Typo fix. 2007-02-09 Thomas Vander Stichele * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): My console is not your TODO list. If it were your TODO list, you would have DONE it by now. 2007-02-09 Tim-Philipp Müller * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_register): ffmux_flv only accepts mpeg audio with a sample rate of 44100, 22050 or 11025. Fix up the caps in the sink pad template accordingly, so that encoding piplines at least have a chance to automatically negotiate to one of the allowed rates. 2007-02-09 Tim-Philipp Müller * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_request_new_pad), (gst_ffmpegmux_setcaps), (gst_ffmpegmux_collected): Only set the mux->opened flag after we've successfully written the header. This way we don't crash in mysterious ways if we can't write the header for some reason (e.g. due to having accepted caps the format doesn't really allow), then return a GST_FLOW_ERROR, and then still receive another buffer afterwards despite having previously returned FLOW_ERROR (#403168). Also some minor logging improvements. 2007-01-26 Wim Taymans Patch by: Mark Nauwelaerts * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): register yuv4mpegpipe demuxer with MARGINAL rank to make it also typically available for auto-plugging. Fixes #399108. 2007-01-22 Tim-Philipp Müller Patch by: Martin Szulecki * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_with_codecid): Need to set depth on context for camtasia decoder (fixes #398875). 2007-01-11 Wim Taymans Patch by: Mark Nauwelaerts * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_to_caps): Internally, ffmpeg (demuxer) expects YUV4MPEG version 2, this patch sets the caps correctly. Fixes #394071. 2007-01-10 Edward Hervey Patch by: Mark Nauwelaerts * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_perform_seek), (gst_ffmpegdemux_aggregated_flow), (gst_ffmpegdemux_get_stream), (gst_ffmpegdemux_loop): Check the aggregated return value of pushes downstream to figure out if we really need to stop the task or not. Fixes #394075 2007-01-09 Wim Taymans * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_get_palette), (gst_ffmpeg_set_palette), (gst_ff_vid_caps_new), (gst_ff_aud_caps_new), (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_smpfmt_to_caps), (gst_ffmpeg_codectype_to_caps), (gst_ffmpeg_caps_to_pixfmt), (gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_formatid_to_caps), (gst_ffmpeg_formatid_get_codecids), (gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_init_pix_fmt_info), (gst_ffmpeg_avpicture_fill), (gst_ffmpeg_img_convert): * ext/ffmpeg/gstffmpegcodecmap.h: * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps), (gst_ffmpegenc_register): Use codecid as extra parameter when getting caps. Restrict H263 caps to allowed sizes for better negotiation. MP4/3gp can contain AMR-WB as well. * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): Indent. 2007-01-09 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open), (gst_ffmpegdec_setcaps), (gst_ffmpegdec_negotiate), (get_output_buffer), (gst_ffmpegdec_video_frame), (clip_audio_buffer), (gst_ffmpegdec_audio_frame), (gst_ffmpegdec_frame), (gst_ffmpegdec_chain), (gst_ffmpegdec_register): Use caps to clip output images. Fixes #341736 2007-01-08 Edward Hervey * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_me_method_get_type): Make the name of the motion-estimation method enum values meaningful. 2007-01-07 Sébastien Moutte * Makefile.am: Add win32/MANIFEST to EXTRA_DIST so win32 files will be include in the next release. * win32/MANIFEST: Add manifest to win32 files in next releases. * win32/vs6/gst_ffmpeg.dsw: * win32/vs6/libgstffmpeg.dsp: Add project files for VS6. 2007-01-05 Thomas Vander Stichele * configure.ac: actually properly define HAVE_FFMPEG_UNINSTALLED also use it as a conditional * ext/ffmpeg/Makefile.am: add a dep on the internal lib so the plugin gets rebuilt on code changes to the ffmpeg lib 2007-01-03 Tim-Philipp Müller * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_class_init), (gst_ffmpegenc_finalize): Turn dispose function into finalize function to avoid double-frees and potential crashes caused by them in some circumstances. Fixes #392395. 2006-12-21 Tim-Philipp Müller * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_smpfmt): The "signed" field in raw audio caps is of boolean type, trying to extract the value with _get_int() will fail. 2006-12-15 Thomas Vander Stichele * configure.ac: fix quoting so it works for fedora autotools too 2006-12-15 Tim-Philipp Müller * docs/Makefile.am: * tests/check/Makefile.am: Spaces => tab 2006-12-15 Thomas Vander Stichele * Makefile.am: * gst-ffmpeg.doap: * gst-ffmpeg.spec.in: add doap file 2006-12-15 Jan Schmidt * Makefile.am: * configure.ac: * ext/ffmpeg/Makefile.am: * ext/ffmpeg/gstffmpeg.c: * ext/ffmpeg/gstffmpegdemux.c: * ext/libpostproc/Makefile.am: * ext/libpostproc/gstpostproc.c: Allow building against an external FFMpeg install. Fixes: #363363 Patch by: Josselin Mouette When built against an external install, the plugin description will say "system install" instead of "local snapshot" 2006-12-14 Jan Schmidt * configure.ac: Back to CVS === release 0.10.2 === 2006-12-10 Jan Schmidt * configure.ac: releasing 0.10.2, "At the edge of Taymans" 2006-12-07 Edward Hervey * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_get_codecids): Activate "amr" and "3gp" muxers. Add AMR-NB as a valid audio codec for "mp4" muxer 2006-12-07 Wim Taymans * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_get_codecids): Add H263p variants as possible format for mov. Fixes #378796. 2006-12-06 Jan Schmidt * tests/check/generic/libavcodec-locking.c: (GST_START_TEST): Fix the filter caps string for the test. Limit it to 10 fps, which means encoding ~ 50 frames before timeout 2006-12-04 Jan Schmidt * HACKING: Update the hacking info with information about how to prepare your quilt setup to hack on the ffmpeg checkout 2006-11-27 Jan Schmidt * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open), (gst_ffmpegdec_chain): When H264 is presented without codec_data, use a parser to frame it by assuming that no codec_data implies it is unpacketised. Always use the return value from the parser to advance the input buffer position. 2006-11-17 Thomas Vander Stichele * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_register): My console is not your TODO list. If it were your TODO list, you would have DONE it by now. 2006-11-16 Stefan Kost Patch by: Ville Syrjala * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_to_codecid): Specify H.263 variant and version in the caps (fixes #361636) 2006-11-14 Michael Smith * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_get_codecids), (gst_ffmpeg_caps_to_codecid): Add mmf to _get_codecids, so we can use the mmf muxer. Use "audio/x-adpcm" rather than the dubious looking "x-adpcm" as our caps type for the adpcm variants. * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_base_init): Allow muxers that allow either only audio or only video, needed for mmf (audio only). 2006-10-26 Edward Hervey * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps), (gst_ffmpegenc_setcaps), (gst_ffmpegenc_register): MPEG4 standard does not accept framerates with a denominator greater than (1<<16 - 1) (according to the ffmpeg encoder...). We therefore scale down the framerate. Small indentation fixes using gst-indent. 2006-10-25 Wim Taymans * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_to_codecid): Fix AMR caps. Fixes #364956. * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_get_stream): Activate pads before adding them. 2006-10-24 Edward Hervey * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_collected): The ->frame_size for RAW audio is 1. Should fix behaviour of some muxers. 2006-10-24 Thomas Vander Stichele * gst-ffmpeg.spec.in: Build with -O1 by default since otherwise assembler breaks 2006-10-24 Edward Hervey * ext/ffmpeg/gstffmpegcfg.c: FLV is in fact h263 and can take the same parameters as other mpeg derivatives. * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_with_codecid): Add pixel format to video/x-dv,systemstream=False * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_class_init), (gst_ffmpegenc_init): Use EPZS (Enhanced Predictive Zonal Search) as the default motion estimation method, since it's the best quality to speed compromise. 2006-10-20 Mark Nauwelaerts Reviewed by: Edward Hervey * configure.ac: postproc filters need liboil to detect the cpu architecture * ext/libpostproc/Makefile.am: Update for liboil requirement, libpostproc being moved around in ffmpeg mirror, and removal of unused header file. * ext/libpostproc/gstpostproc.h: Header file not needed anymore * ext/libpostproc/gstpostproc.c: (gst_pp_scope_get_type), (change_context), (append), (change_mode), (gst_post_proc_base_init), (gst_post_proc_class_init), (gst_post_proc_init), (gst_post_proc_dispose), (gst_post_proc_setcaps), (gst_post_proc_transform_ip), (gst_post_proc_set_property), (gst_post_proc_get_property), (gst_post_proc_deblock_set_property), (gst_post_proc_deblock_get_property), (gst_post_proc_tmpnoise_set_property), (gst_post_proc_tmpnoise_get_property), (gst_post_proc_autolevels_set_property), (gst_post_proc_autolevels_get_property), (gst_post_proc_forcequant_set_property), (gst_post_proc_forcequant_get_property), (gst_post_proc_register), (plugin_init): Port of postprocessing elements to 0.10. 2006-10-13 Edward Hervey * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_get_codecids): Added some codec mappings for dv and mov muxers. * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps), (gst_ffmpegenc_register): Don't attempt to add caps to a NULL caps. Add video/x-raw-gray to the input raw video types. 2006-10-09 Edward Hervey * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_to_caps), (gst_ffmpeg_formatid_get_codecids): Added proper mime types for mxf and gxf formats. Added known configuration for asf muxer. Implies allowing the ffmpeg asf muxer to take WMV and WMA. * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): Most demuxers/formats don't give keyframe information on encoded audio streams. We therefore don't discard them, and use the clipping functionnality to drop the decoded buffers we didn't need. 2006-10-09 Edward Hervey * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): Set the rank of all demuxers for which we: _ Have no alternate demuxer, _ And are know not to crash like madmans, to GST_RANK_MARGINAL 2006-10-09 Edward Hervey * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): Disable the amr ffmpeg typefind function, it conflicts with gsttypefindfunctions' implementation. 2006-10-06 Edward Hervey * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_init): Properly initialize ->lmin, ->lmax and ->max_key_interval so we don't end up passing completely bogus data to the AVCodecContext. Fixes #355584 2006-10-05 Tim-Philipp Müller * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_get_stream): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_setcaps): Printf format fixes. 2006-10-05 Edward Hervey * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_seek): Implement seeking for WRITE "gst" protocol. This allows muxers to properly seek and output correctly muxed files. 2006-10-05 Edward Hervey * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_change_state): We need to stop the collectpads in PAUSED->READY BEFORE chaining up to the parent class change_state. Else we end up in a locking behaviour with the sink pads stream locks. 2006-10-04 Wim Taymans * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_averror), (gst_ffmpegdemux_init), (gst_ffmpegdemux_close), (gst_ffmpegdemux_push_event), (gst_ffmpegdemux_send_event), (gst_ffmpegdemux_src_query), (gst_ffmpegdemux_open), (gst_ffmpegdemux_loop), (gst_ffmpegdemux_sink_activate), (gst_ffmpegdemux_sink_activate_push), (gst_ffmpegdemux_sink_activate_pull): Don't try to use or remove non-existing pads. Use _scale some more. Don't try to do maths with invalid timestamps. Fixes #359545. Prepare for push based scheduling. 2006-09-30 Edward Hervey * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps): Clarify some CODEC_ID <=> mime type conversions for image formats. * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): Cleanup on demuxer registration. Bumped flv demuxer to RANK_MARGINAL since it proved solid enough. Will have to go over more demuxers, for which we don't have any gst-plugins-* alternative, to figure out which ones can move to RANK_MARGINAL too. 2006-09-29 Tim-Philipp Müller * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_register): Don't leak caps in some cases and make build bots happy again. 2006-09-23 Edward Hervey * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname): Added definitions for FLASHSV, Flash Screen Video format. 2006-09-21 Edward Hervey * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): wc1/wmv3 ffmpeg decoder now works. Bumping rank to GST_RANK_MARGINAL. 2006-09-20 Edward Hervey * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname): Adding codec mapping for vp5, vp6, vp6f and cavs. 2006-09-20 Edward Hervey * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_get_codecid_longname): * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): Seems like the ffmpeg folks finally understood that VC9 does not exist, and that it's in fact VC1 (aka WMV9 or WMV3, but that's yet another debate). 2006-09-17 Stefan Kost * ext/ffmpeg/gstffmpegdec.c: * ext/ffmpeg/gstffmpegdeinterlace.c: * ext/ffmpeg/gstffmpegenc.h: * ext/ffmpeg/gstffmpegmux.c: * ext/ffmpeg/gstffmpegscale.c: More G_OBJECT macro fixing. 2006-09-13 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open), (check_keyframe), (gst_ffmpegdec_video_frame), (gst_ffmpegdec_chain): Add some more timestamp debugging. Fixed wrong duration whn not using a parser. 2006-09-08 Edward Hervey * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_request_new_pad), (gst_ffmpegmux_sink_event), (gst_ffmpegmux_collected): Port tag-writing support in the muxers. 2006-09-08 Edward Hervey Patch by: Michal Benes * ext/ffmpeg/Makefile.am: * ext/ffmpeg/gstffmpeg.c: (plugin_init): * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_codecid): * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_base_init), (gst_ffmpegmux_init), (gst_ffmpegmux_finalize), (gst_ffmpegmux_request_new_pad), (gst_ffmpegmux_setcaps), (gst_ffmpegmux_collected), (gst_ffmpegmux_change_state), (gst_ffmpegmux_register): Port of FFMpeg muxers to 0.10. Still needs some loving in gstffmpegcodecmap to have them all supported with correct input formats. Closes #332339 2006-09-06 Wim Taymans Patch by: Sebastien Moutte * ext/ffmpeg/gstffmpeg.c: (plugin_init): * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ff_vid_caps_new), (gst_ff_aud_caps_new), (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_smpfmt_to_caps), (gst_ffmpeg_init_pix_fmt_info): * ext/ffmpeg/gstffmpegcodecmap.h: * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_send_event): * ext/ffmpeg/gstffmpegprotocol.c: Make stuff compile on Visual Studio 6. Convert some crach macros to functions. Convert some static tables to _init functions. Fixes #343951. 2006-09-06 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): Do early keyframe check again, feeding bad data in ffmpeg is not a good idea after all. 2006-09-06 Wim Taymans Patch by: Mark Nauwelaerts * ext/ffmpeg/Makefile.am: * ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_pass_get_type), (gst_ffmpeg_lim_pass_get_type), (gst_ffmpeg_mb_decision_get_type), (gst_ffmpeg_mb_cmp_get_type), (gst_ffmpeg_dct_algo_get_type), (gst_ffmpeg_idct_algo_get_type), (gst_ffmpeg_quant_type_get_type), (gst_ffmpeg_pre_me_get_type), (gst_ffmpeg_pred_method_get_type), (gst_ffmpeg_flags_get_type), (gst_ffmpeg_cfg_init), (gst_ffmpeg_cfg_codec_has_pspec), (gst_ffmpeg_cfg_install_property), (gst_ffmpeg_cfg_set_property), (gst_ffmpeg_cfg_get_property), (gst_ffmpeg_cfg_set_defaults), (gst_ffmpeg_cfg_fill_context): * ext/ffmpeg/gstffmpegcfg.h: Added helper object to handle extra properties. * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_class_init), (gst_ffmpegenc_init), (gst_ffmpegenc_dispose), (gst_ffmpegenc_getcaps), (gst_ffmpegenc_setcaps), (gst_ffmpegenc_chain_video), (gst_ffmpegenc_chain_audio), (gst_ffmpegenc_flush_buffers), (gst_ffmpegenc_event_video), (gst_ffmpegenc_set_property), (gst_ffmpegenc_get_property), (gst_ffmpegenc_change_state), (gst_ffmpegenc_register): * ext/ffmpeg/gstffmpegenc.h: Exposes (quite some of) the AVCodecContext configurable settings, as well as some additional (though simple) logic for b-frame delay handling. Most of the properties are only enabled for mpeg4-like codecs. Fixes #344583. 2006-09-05 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): Disable early keyframe check, it causes crashes and is not really needed. 2006-09-05 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame), (gst_ffmpegdec_chain): Even more timestamp fixage. Also keep track of pending durations. don't lose our timestamp when joining the cache. 2006-09-05 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_video_frame), (gst_ffmpegdec_audio_frame), (gst_ffmpegdec_frame), (gst_ffmpegdec_sink_event), (gst_ffmpegdec_chain): More timestamp fixage. Don't pass around buffers just to pass its timestamp since we cannot update it. After decoding a buffer, don't use the timestamp of the buffer anymore but let the interpolation do its work. 2006-09-05 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): Fix timestamping some more by actually using the ffmpeg parsers correctly. Fixes #341736 2006-08-29 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open), (gst_ffmpegdec_negotiate), (clip_video_buffer), (clip_audio_buffer), (gst_ffmpegdec_audio_frame), (gst_ffmpegdec_frame), (gst_ffmpegdec_sink_event), (gst_ffmpegdec_chain): Mark outgoing buffers with DISCONT when needed. Small cleanups. Fix timestamps on audio decoders. better audio clipping. Fixes #352579. 2006-08-21 Wim Taymans * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid): Pad extradata. Allocate dummy empty extradata because some codecs like to read it and segfault when it's not there. 2006-08-16 Wim Taymans Patch by: Mark Nauwelaerts * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_setcaps): If we are not operating in RTP mode, leave the default rtp encoder settings as they are so that we don't unintentionally activate it. Fixes #351415. 2006-08-14 Edward Hervey * configure.ac: Don't build programs in ffmpeg checkout, since we're never going to use them in the gstreamer plugin. Also it allows building the plugin on systems that don't have UI-specific libraries (like X). 2006-07-19 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_lowres_get_type), (gst_ffmpegdec_skipframe_get_type), (gst_ffmpegdec_class_init), (gst_ffmpegdec_init), (gst_ffmpegdec_open), (gst_ffmpegdec_setcaps), (gst_ffmpegdec_negotiate), (gst_ffmpegdec_do_qos), (clip_video_buffer), (check_keyframe), (get_output_buffer), (gst_ffmpegdec_video_frame), (gst_ffmpegdec_frame), (gst_ffmpegdec_sink_event), (gst_ffmpegdec_chain): Make some enums const. Cleanups, refactoring. Better video frame clipping. Timestamp fixe: use timestamp from incomming buffer even if there is no input framerate given (as this is totally unrelated). 2006-06-12 Edward Hervey * .cvsignore: ignore more files 2006-06-06 Edward Hervey * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open): mpeg4 parsing still utterly broken :( 2006-06-02 Edward Hervey * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): Nothing to see, pass your way, I didn't screwup the previous commit. 2006-06-02 Edward Hervey * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_init), (gst_ffmpegdec_query), (gst_ffmpegdec_update_qos), (gst_ffmpegdec_reset_qos), (gst_ffmpegdec_read_qos), (gst_ffmpegdec_open), (gst_ffmpegdec_setcaps), (gst_ffmpegdec_get_buffer), (gst_ffmpegdec_release_buffer), (gst_ffmpegdec_add_pixel_aspect_ratio), (gst_ffmpegdec_negotiate), (gst_ffmpegdec_do_qos), (gst_ffmpegdec_video_frame), (gst_ffmpegdec_audio_frame), (gst_ffmpegdec_frame), (gst_ffmpegdec_flush_pcache), (gst_ffmpegdec_sink_event), (gst_ffmpegdec_chain): Split out audio and video frame decoding. Added dropping/clipping of decoded buffers. Ran gst-indent on code. Small non-invasive code cleanups. 2006-06-02 Michael Smith * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): One of the ffmpeg 'plugins' changed its name with the latest update of the snapshot. Change the blacklisted typefind list to match. 2006-06-02 Michael Smith reviewed by: * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_video): 2006-05-26 Edward Hervey * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_smpfmt_to_caps), (gst_ffmpeg_formatid_to_caps), (gst_ffmpeg_formatid_get_codecids), (gst_ffmpeg_get_codecid_longname): Change all GST_WARNING to GST_LOG. None of these warning are really critical issues anyway. 2006-05-19 Thomas Vander Stichele * configure.ac: fix test by finding base plugins 2006-05-09 Tim-Philipp Müller * tests/check/gst-ffmpeg.supp: Add missing file (which prepare-ChangeLog didn't pick up because it's empty). 2006-05-09 Tim-Philipp Müller * tests/check/generic/libavcodec-locking.c: (GST_START_TEST), (simple_launch_lines_suite), (main): Only run test when encoder element is available (we might have been configured with --disable-encoders). 2006-05-09 Tim-Philipp Müller Patch by: Luca Ognibene * tests/check/Makefile.am: * tests/check/generic/libavcodec-locking.c: (setup_pipeline), (run_pipeline), (GST_START_TEST), (simple_launch_lines_suite), (main): Add test case for libavcodec locking 2006-05-09 Tim-Philipp Müller * Makefile.am: * configure.ac: * tests/Makefile.am: * tests/check/.cvsignore: * tests/check/Makefile.am: * tests/check/generic/.cvsignore: Add test infrastructure to gst-ffmpeg (#324279). 2006-05-08 Edward Hervey * autogen.sh: (CONFIGURE_DEF_OPT): libtoolize on Darwin/MacOSX is called glibtoolize 2006-05-07 Jan Schmidt * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_formatid_get_codecids), (gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname): * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init): Add mappings for RealVideo 4.0, AMR-WB, AMR-NB and DTS to silence warnings when registering. Only register the 1/2,1/4 size decode and frame-skipping properties on video decoders. * gst-libs/ext/ffmpeg/configure.ac: * gst-libs/ext/ffmpeg/libavformat/Makefile.am: * gst-libs/ext/ffmpeg/patches/autotools.patch: Merge patch by Sam Morris to allow disabling of decoders. Fixes #324366 2006-05-07 Jan Schmidt * gst-libs/ext/ffmpeg/patches/autotools.patch: * gst-libs/ext/ffmpeg/patches/noinst.patch: Refresh patches to incorporate MikeS' automake 1.9 changes from a while back. 2006-05-02 Tim-Philipp Müller * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): Give ffmpeg demuxers a rank of NONE for the time being, so that they are not auto-plugged; they are not stable enough for that yet (e.g. #337785). Don't register AAC demuxer, it's not really useful and can't be used as faad replacement (#338928). 2006-04-24 Edgard Lima * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_video): just make it compile with --disable-gst-debug. 2006-04-21 Andy Wingo * configure.ac (GST_MAJORMINOR): Drop the required gstreamer version back down to the latest release, I don't think thomas' commit on 1 april was meant to change it. * ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_register): Up the rank of the dv video decoder. 2006-04-19 J^ reviewed by: Edward Hervey * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_formatid_to_caps), (gst_ffmpeg_formatid_get_codecids), (gst_ffmpeg_get_codecid_longname): Added proper GstCaps <==> CodecId for Apple QDRaw. Fixed up proper wrapping for GstCaps <==> FormatId. 2006-04-18 Wim Taymans * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_perform_seek), (gst_ffmpegdemux_loop): Don't try to convert -1 values when seeking. Adjust timestamps with start_time of the stream. 2006-04-13 Wim Taymans * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_base_init), (gst_ffmpegdemux_class_init), (gst_ffmpegdemux_init), (gst_ffmpegdemux_close), (gst_ffmpegdemux_push_event), (gst_ffmpegdemux_set_flags), (gst_ffmpegdemux_is_eos), (gst_ffmpegdemux_do_seek), (gst_ffmpegdemux_perform_seek), (gst_ffmpegdemux_src_event), (gst_ffmpegdemux_send_event), (gst_ffmpegdemux_src_query), (gst_ffmpegdemux_src_convert), (gst_ffmpegdemux_get_stream), (my_safe_copy), (gst_ffmpegdemux_read_tags), (gst_ffmpegdemux_open), (gst_ffmpegdemux_loop), (gst_ffmpegdemux_sink_activate), (gst_ffmpegdemux_sink_activate_pull), (gst_ffmpegdemux_change_state), (gst_ffmpegdemux_register): Rework the demuxer, implement all seeking stuff including seek in ready. * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_peek), (gst_ffmpegdata_close): Handle some more cases. 2006-04-11 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_sink_event): Actually convert to time instead of pretending.. Also the bitrate of the context is mostly wrong so don't bother calculating a stop position. Closing (#331323) 2006-04-10 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): When we see a keyframe don't wait for another one. 2006-04-08 Stefan Kost * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_class_init): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_class_init): * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_class_init): Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent) 2006-04-08 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_do_qos): Too bad we can't use gst_private.h.. 2006-04-08 Wim Taymans * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_avpicture_fill): Some other formats, still commented out, though. 2006-04-08 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init), (gst_ffmpegdec_init), (gst_ffmpegdec_finalize), (gst_ffmpegdec_query), (gst_ffmpegdec_update_qos), (gst_ffmpegdec_reset_qos), (gst_ffmpegdec_read_qos), (gst_ffmpegdec_src_event), (gst_ffmpegdec_open), (gst_ffmpegdec_setcaps), (gst_ffmpegdec_get_buffer), (gst_ffmpegdec_release_buffer), (gst_ffmpegdec_add_pixel_aspect_ratio), (gst_ffmpegdec_negotiate), (gst_ffmpegdec_do_qos), (gst_ffmpegdec_frame), (gst_ffmpegdec_flush_pcache), (gst_ffmpegdec_sink_event), (gst_ffmpegdec_chain): Cleanups. Fix refcounting here and there. use DEBUG_OBJECT, refactor some functions. Use GstSegment. Implement simple QOS by using the ffmpeg hurry_up field. 2006-04-06 Tim-Philipp Müller * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): Register id3 demuxer, avi demuxer and ogg demuxer with a rank of GST_RANK_NONE so that they don't get autoplugged accidentally. We want people to install the demuxers that are known to work well rather than mostly untested stuff like ffdemux_*. 2006-04-01 Thomas Vander Stichele * ext/ffmpeg/gstffmpeg.c: * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps): * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_add_pixel_aspect_ratio), (gst_ffmpegdec_frame): * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_seek): * ext/ffmpeg/gstffmpegscale.c: (gst_ffmpegscale_transform_caps), (gst_ffmpegscale_handle_src_event): various compiler fixes * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_src_event), (my_safe_copy), (gst_ffmpegdemux_open), (gst_ffmpegdemux_change_state): actually return the result. Tee hee. 2006-03-31 Thomas Vander Stichele * configure.ac: back to HEAD === release 0.10.1 === 2006-03-31 Thomas Vander Stichele * configure.ac: releasing 0.10.1, "Late Train" 2006-03-22 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_close), (gst_ffmpegdec_setcaps), (gst_ffmpegdec_change_state): make _open and _close as functions that should be called with the object lock instead of them taking a lock themselves. This fixes a deadlock when _open fails. 2006-03-14 Tim-Philipp Müller * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame): Don't use gst_pad_alloc_buffer() for frames with palette, as we'll artificially shorten the size of buffers in that case and GstBaseTransform will complain about unit size issues if we use _alloc_buffer() with the full size. 2006-03-01 Michal Benes reviewed by: Edward Hervey * ext/ffmpeg/Makefile.am: * ext/ffmpeg/gstffmpeg.c: (plugin_init): * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_to_caps), (gst_ffmpeg_formatid_get_codecids): * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_base_init), (gst_ffmpegmux_init), (gst_ffmpegmux_finalize), (gst_ffmpegmux_request_new_pad), (gst_ffmpegmux_setcaps), (gst_ffmpegmux_collected), (gst_ffmpegmux_change_state), (gst_ffmpegmux_register): Port of FFMpeg muxers to 0.10. Still needs some loving in gstffmpegcodecmap to have them all supported with correct input formats. Closes #332339 2006-03-01 Michal Benes Reviewed by : Edward Hervey * ext/ffmpeg/Makefile.am: * ext/ffmpeg/gstffmpeg.c: (plugin_init): * ext/ffmpeg/gstffmpegscale.c: (gst_ffmpegscale_base_init), (gst_ffmpegscale_class_init), (gst_ffmpegscale_init), (gst_ffmpegscale_finalize), (gst_ffmpegscale_transform_caps), (gst_ffmpegscale_fixate_caps), (gst_ffmpegscale_get_unit_size), (gst_ffmpegscale_set_caps), (gst_ffmpegscale_transform), (gst_ffmpegscale_handle_src_event), (gst_ffmpegscale_register): Port of ffvideoscale to 0.10. Closes #332557 2006-03-01 Josef Zlomek Reviewed by : Edward Hervey * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_audio): Fix segmentation fault and memleak. Fixes #332995 and #333001 2006-02-24 Tim-Philipp Müller * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame): ... can't adjust buffer size of NULL buffers though (as happens when seeking in video from #327075). 2006-02-24 Michael Smith * autogen.sh: * gst-libs/ext/ffmpeg/autogen.sh: Allow automake 1.9 2006-02-24 Tim-Philipp Müller * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_get_palette), (gst_ffmpeg_set_palette): Use AVPALETTE_SIZE macro instead of magic value for clarity. Based on patch by: Fabrizio Gennari * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame): In GStreamer, the size of the palette is not part of GST_BUFFER_SIZE, so adjust buffer size of outgoing buffers accordingly if there's a palette (fixes #327028) 2006-02-21 Edward Hervey * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_formatid_to_caps): Added proper formatid to caps conversion for ogg, gif, yuv4mpeg and quicktime formats. 2006-02-21 Jan Schmidt * configure.ac: Apply patch from Sebastien Cote to handle --with-pkg-config-path before looking for GStreamer patches. (Re-closes #319248) 2006-02-19 Jan Schmidt * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_with_codecid): Add extra detail to the Real format caps. With this info, filesrc ! ffdemux_rm ! ffdec_cook ! ... works, but using rmdemux doesn't. The order of the data the demuxers output appears to be different. 2006-02-19 Jan Schmidt * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_formatid_to_caps), (gst_ffmpeg_get_codecid_longname): * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): Add new codec ids and fix up some of the codec->mime type mappings 2006-02-19 Jan Schmidt * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname): Add codec mapping for RealAudio G2 (Cook) codec. 2006-02-19 Jan Schmidt * HACKING: Mention ffmpeg snapshot update * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname): Add new codec types from FFMpeg snapshot update to 2006-02-17 4:00 GMT 2006-02-17 Wim Taymans * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_sink_activate): Post nice error message when we cannot activate in pull mode. 2006-02-14 Edward Hervey * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_open): If the duration returned by ffmpeg is 0, it doesn't mean the file has no duration, but that it doesn't know the end. Fixed accordingly for segment_stop. 2006-02-13 Edward Hervey * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_release_buffer), (gst_ffmpegdec_frame): More fixes for keyframe detection in ffmpeg decoders... 2006-02-12 Thomas Vander Stichele * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_pixfmt): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps): respect pixel-aspect-ratio when encoding. 2006-02-12 Edward Hervey * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_init), (gst_ffmpegdemux_close), (gst_ffmpegdemux_handle_seek), (gst_ffmpegdemux_add), (my_safe_copy), (gst_ffmpegdemux_read_tags), (gst_ffmpegdemux_open), (gst_ffmpegdemux_loop): Add Tag support and keyframe seeking (for those formats where ffmpeg actually fills in the index). * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_peek), (gst_ffmpegdata_read), (gst_ffmpegdata_seek): Add support for size querying. 2006-02-11 Thomas Vander Stichele * ext/ffmpeg/gstffmpeg.c: set correct version on the plug-in - the GStreamer FFMpeg version. I could swear I had already done this before. 2006-02-11 Thomas Vander Stichele * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_class_init), (gst_ffmpegenc_init), (gst_ffmpegenc_setcaps): debug and magic number fixes 2006-02-10 Edward Hervey * ext/ffmpeg/Makefile.am: * ext/ffmpeg/gstffmpeg.c: (plugin_init): * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_base_init), (gst_ffmpegdemux_init), (gst_ffmpegdemux_stream_from_pad), (gst_ffmpegdemux_handle_seek), (gst_ffmpegdemux_src_event), (gst_ffmpegdemux_src_query_list), (gst_ffmpegdemux_src_query), (gst_ffmpegdemux_add), (gst_ffmpegdemux_open), (gst_ffmpegdemux_loop), (gst_ffmpegdemux_sink_activate), (gst_ffmpegdemux_sink_activate_pull), (gst_ffmpegdemux_change_state), (gst_ffmpegdemux_register): * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_open), (gst_ffmpegdata_peek), (gst_ffmpegdata_read), (gst_ffmpegdata_write), (gst_ffmpegdata_seek), (gst_ffmpegdata_close): Welcome the demuxers to 0.10 :) For the time being the demuxers work only pull-based. Seeking, querying works. 2006-02-10 Edward Hervey * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps): added CODEC_ID_FLV1 <==> 'video/x-flash-video,flvversion=1' conversion. 2006-02-06 Thomas Vander Stichele * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_smpfmt_to_caps): * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps), (gst_ffmpegdec_negotiate), (gst_ffmpegdec_frame), (gst_ffmpegdec_chain): debug recurring events at LOG level do some timestamp setting heuristics on the pcache, with the net result of having more buffers have approximately correct timestamps. This allows playback of h263/3gp files taking fps from the demuxer, which before always set GST_CLOCK_TIME_NONE as timestamp. 2006-02-04 Tim-Philipp Müller * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_get_palette): Buffers aren't boxed types any longer. 2006-02-03 Edgard Lima * ext/ffmpeg/gstffmpegenc.c: Just make it compile with --disable-gst-debug. 2006-02-02 Andy Wingo * ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_register): Reorder case statements to make control flow more clear. 2006-02-02 Christian Schaller * Set rank NONE for mp3 and mpeg2video: They don't work properly and having them autoplugged gives people a bad impression and leads them to not grab mad or fluendo mp3. Fixes #162833 2006-01-31 Thomas Vander Stichele * configure.ac: fix build of deinterlace 2006-01-31 Thomas Vander Stichele * docs/plugins/Makefile.am: * docs/plugins/gst-ffmpeg-plugins-docs.sgml: first stab at documenting ffmpeg elements. Needs work. 2006-01-31 Thomas Vander Stichele * configure.ac: * docs/Makefile.am: * docs/plugins/.cvsignore: * docs/plugins/gst-ffmpeg-plugins-docs.sgml: * docs/plugins/gst-ffmpeg-plugins.args: * docs/plugins/gst-ffmpeg-plugins.hierarchy: * docs/plugins/gst-ffmpeg-plugins.interfaces: * docs/plugins/gst-ffmpeg-plugins.prerequisites: * docs/plugins/gst-ffmpeg-plugins.types: * docs/plugins/inspect.stamp: * docs/plugins/inspect/plugin-ffmpeg.xml: * docs/version.entities.in: First step at adding docs 2006-01-26 Tim-Philipp Müller * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid): Pad codec data buffer to a size that is a multiple of 16, which ffmpeg apparently needs for optimized/unchecked access to the data. Fixes crashes with HD h264 video. 2006-01-23 Edward Hervey * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps): Added CODEC_ID_SMC <==> video/x-smc caps * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame): I hate ffmpeg... no keyframe information at all for VP3, so we have to assume they're all keyframes :( 2006-01-20 Martin Zlomek from Itonis (michael.benes@xeris.cz) reviewed by: Edward Hervey * ext/ffmpeg/Makefile.am: * ext/ffmpeg/gstffmpeg.c: (plugin_init): * ext/ffmpeg/gstffmpegdeinterlace.c: (gst_ffmpegdeinterlace_base_init), (gst_ffmpegdeinterlace_class_init), (gst_ffmpegdeinterlace_sink_setcaps), (gst_ffmpegdeinterlace_init), (gst_ffmpegdeinterlace_chain), (gst_ffmpegdeinterlace_register): ffdeinterlace port to 0.10. Could be made a subclass of GstBaseTransform later on... 2006-01-20 Michal Benes Reviewed by : Edward Hervey * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_audio): Caps weren't set on outgoing audio buffers. Closes #327861 2006-01-17 Edward Hervey * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): Memleak fix. Closes #326704 2006-01-17 Edward Hervey * configure.ac: Add --with-pkg-config-path argument. Closes #319248 2006-01-12 Andy Wingo * libavcodec/utils.c: Fix for CVE-2005-4048 (bugzilla bug #324209), buffer overflow with small PNG images with palettes. Patch by: Loïc Minier * libavutil/Makefile.am (INCLUDES): Add ALTIVEC_CFLAGS here, fixes compilation on ppc (#320238). 2006-01-11 Edward Hervey * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame): Add exception for Indeo3 keyframe detection until upstream ffmpeg behaves properly. 2005-12-19 Edward Hervey * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps): Update ffmpeg_codec_id <=> mimetype conversions * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame): Finer grained keyframe detection 2005-12-16 Tim-Philipp Müller Patch by: Sebastien Cote Patch by: Luca Ognibene * ext/ffmpeg/gstffmpeg.c: (gst_ffmpeg_avcodec_open), (gst_ffmpeg_avcodec_close): * ext/ffmpeg/gstffmpeg.h: * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_close), (gst_ffmpegdec_open): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_dispose), (gst_ffmpegenc_getcaps), (gst_ffmpegenc_setcaps), (gst_ffmpegenc_change_state): Do proper locking around avcodec_open() and avcodec_close() (fixes #322254) 2005-12-10 Tim-Philipp Müller * gst-libs/ext/Makefile.am: We need to use $(MAKE) here instead of 'make' (on some systems it's gmake that needs to be called, for example) 2005-12-07 Edward Hervey * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame): So, stupid ffmpeg.... Not all [en|de]coders set AVFrame->type. This should handle the case where AVFrame->reference is set to 1 (which is the equivalent of a keyframe). Also fixes #323286. I tried a truckload of other files with this modification and it didn't seem to break playback. 2005-12-06 Thomas Vander Stichele * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt), (gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_caps_to_codecid): * ext/ffmpeg/gstffmpegcodecmap.h: * ext/ffmpeg/gstffmpegdeinterlace.c: (gst_ffmpegdeinterlace_pad_link), (gst_ffmpegdeinterlace_init), (gst_ffmpegdeinterlace_chain): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_class_init), (gst_ffmpegenc_chain_audio): * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_loop): * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_write): * ext/ffmpeg/gstffmpegscale.c: (gst_ffmpegscale_pad_link), (gst_ffmpegscale_init), (gst_ffmpegscale_chain), (gst_ffmpegscale_change_state): * ext/libpostproc/gstpostproc.c: (change_context), (change_mode), (gst_postproc_base_init), (gst_postproc_class_init), (gst_postproc_init), (gst_postproc_link), (gst_postproc_chain), (gst_postproc_change_state), (gst_postproc_set_property), (gst_postproc_get_property), (gst_postproc_register): expand tabs === release 0.10.0 === 2005-12-05 * configure.ac: releasing 0.10.0, "Rocamadour" 2005-12-05 Andy Wingo * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_get_buffer), (gst_ffmpegdec_frame): * ext/ffmpeg/gstffmpegdeinterlace.c: (gst_ffmpegdeinterlace_chain): * ext/ffmpeg/gstffmpegscale.c: (gst_ffmpegscale_chain): Update for alloc_buffer changes. === release 0.9.7 === 2005-12-01 * configure.ac: releasing 0.9.7, "Mein Hund Hat Keine Nase" 2005-11-28 Julien MOUTTE * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_class_init), (gst_ffmpegenc_init), (gst_ffmpegenc_getcaps), (gst_ffmpegenc_setcaps), (gst_ffmpegenc_set_property), (gst_ffmpegenc_get_property): Add rtp-payload-size property. 2005-11-28 Tim-Philipp Müller * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_close), (gst_ffmpegdec_setcaps), (gst_ffmpegdec_add_pixel_aspect_ratio), (gst_ffmpegdec_negotiate): Improve pixel aspect ratio handling when both the demuxer and the decoder provide a pixel aspect ratio: if one of the two ratios is 1:1, use the other one; if both are non-1:1, use the one provided by the decoder (fixes matroska starwars test files); also add some locking here and there. 2005-11-23 Thomas Vander Stichele * configure.ac: back to HEAD === release 0.9.6 === 2005-11-23 Thomas Vander Stichele * configure.ac: releasing 0.9.6, "Cold Cat" 2005-11-23 Jan Schmidt * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame): Updated API 2005-11-23 Jan Schmidt * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_pixfmt): Whoops - handle input video caps that don't have a framerate 2005-11-23 Jan Schmidt * HACKING: * ext/ffmpeg/gstffmpegcolorspace.c: Remove mentions of ffmpegcolorspace now that it's in gst-plugins-base * ext/ffmpeg/Makefile.am: Link to gstreamer libraries * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_pixfmt): * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_init), (gst_ffmpegdec_close), (gst_ffmpegdec_setcaps), (gst_ffmpegdec_negotiate), (gst_ffmpegdec_frame): Convert to fractional framerate 2005-11-22 Andy Wingo * ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_sink_event): Run update-funcnames. 2005-11-21 Tim-Philipp Müller * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_sink_event): Remove GST_STREAM_LOCK here, it is not needed any longer. 2005-11-16 Luca Ognibene * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_get_buffer): My previous commit was not completly correct.. I've disabled our _get_buffer function until we make it work 100%. I've opened a bug (#321662) for this issue. 2005-11-16 Luca Ognibene * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_release_buffer), (gst_ffmpegdec_frame): Fix some segfaults while seeking. When i have unreffed the buffer in _release_buffer i should also set picture->opaque to NULL otherwise sometimes it can be unreffed another time in _frame causing an invalid read/write. 2005-11-14 Andy Wingo * configure.ac (GST_PLUGIN_LDFLAGS): -no-undefined for better debugging, allows dll builds on windows. Fixes #316076. 2005-11-14 Tim-Philipp Müller * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame), (gst_ffmpegdec_sink_event): Don't crash in debug message by dereferencing the NULL buffer gst_ffmpegdec_frame() gets passed on EOS. Take STREAM_LOCK for EOS, TAG, NEWSEGMENT and FLUSH_STOP events. 2005-11-11 Thomas Vander Stichele * configure.ac: back to HEAD === release 0.9.5 === 2005-11-11 Thomas Vander Stichele * configure.ac: releasing 0.9.5, "Sound Of Silence" 2005-11-11 Edward Hervey * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_get_buffer), (gst_ffmpegdec_release_buffer), (gst_ffmpegdec_frame), (gst_ffmpegdec_sink_event): Properly unref a buffer if we drop it. Esthetic fixes. 2005-11-08 Ronald S. Bultje * TODO: Add some TODO items for 0.9 cycle. 2005-10-26 Tim-Philipp Müller * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_init), (gst_ffmpegdec_close), (gst_ffmpegdec_open), (gst_ffmpegdec_setcaps), (gst_ffmpegdec_negotiate), (gst_ffmpegdec_frame), (gst_ffmpegdec_sink_event), (gst_ffmpegdec_chain): Backported some fixes from 0.8. Most importantly, use demuxer's timestamping information if we use its framerate value. Makes divx play properly again among other things (#319616, #313970, #317596). Did not backport memory leak fix. 2005-10-24 Thomas Vander Stichele * configure.ac: back to HEAD === release 0.9.4 === 2005-10-24 Thomas Vander Stichele * configure.ac: releasing 0.9.4, "Triceratops" 2005-10-23 Julien MOUTTE * ext/ffmpeg/Makefile.am: Fix build. * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname): * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_register): Add QDM2 and TrueMotion 2. 2005-10-11 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_sink_event): newsegment API update. 2005-10-05 Thomas Vander Stichele * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps): we have better ways of debugging caps * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_setcaps): ye gods. get_template_caps doesn't return a ref, so when the pad was not linked, crashes would ensue. Serves me right. 2005-10-03 Thomas Vander Stichele * configure.ac: back to development === release 0.9.3 === 2005-10-03 Thomas Vander Stichele * NEWS: * README: * configure.ac: Releasing 0.9.3, "D'Artagnan" 2005-09-30 Thomas Vander Stichele * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_setcaps): if no peer, use the src pad template caps as allowed caps 2005-09-22 Wim Taymans * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_setcaps): Do not limit quantizer values so we can get really low bitrates. 2005-09-22 Thomas Vander Stichele patch by: Wim Taymans * gst-libs/ext/ffmpeg/libavcodec/h263.c: (h263_encode_picture_header), (mpeg4_encode_vol_header): * gst-libs/ext/ffmpeg/patches/h263.patch: * gst-libs/ext/ffmpeg/patches/series: fix frame rate encoding for h263 2005-09-20 Wim Taymans * ext/ffmpeg/gstffmpegcodecmap.h: Avoid division by 0 errors. 2005-09-19 Wim Taymans * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps), (gst_ffmpegdec_frame): Don't blindly assume there is a codec. 2005-09-19 Wim Taymans * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_pixfmt): Better framerate setting. 2005-09-16 Thomas Vander Stichele * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_sink_event): fix up newsegment 2005-09-13 Thomas Vander Stichele * ext/ffmpeg/gstffmpeg.c: (gst_ffmpeg_log_callback), (plugin_init): * ext/ffmpeg/gstffmpeg.h: * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps): shut up the logging while it's probing for formats 2005-09-05 Andy Wingo * Update for state change type and macro changes. 2005-08-19 Wim Taymans * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_setcaps), (gst_ffmpegenc_chain_video), (gst_ffmpegenc_change_state): Fix return values from the setcaps function. 2005-08-16 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame), (gst_ffmpegdec_sink_event), (gst_ffmpegdec_chain): Handle return values of gst_pad_push(). 2005-08-15 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps): Forwardport from 0.8 to implement QT-RLE. 2005-08-15 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_sink_event): Flush buffers in flush-stop, not flush-start, since the task is not stopped yet in flush-stop, which may lead to odd crashes in random places inside libavcodec. 2005-08-09 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: Fix template to not allow fps=0. 2005-08-05 Ronald S. Bultje * configure.ac: * ext/ffmpeg/Makefile.am: * ext/ffmpeg/gstffmpeg.c: (plugin_init): * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid): * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init), (gst_ffmpegdec_init), (gst_ffmpegdec_query), (gst_ffmpegdec_event), (gst_ffmpegdec_open), (gst_ffmpegdec_setcaps), (gst_ffmpegdec_get_buffer), (gst_ffmpegdec_negotiate), (gst_ffmpegdec_frame), (gst_ffmpegdec_sink_event), (gst_ffmpegdec_chain), (gst_ffmpegdec_change_state), (gst_ffmpegdec_register): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_class_init), (gst_ffmpegenc_init), (gst_ffmpegenc_getcaps), (gst_ffmpegenc_setcaps), (gst_ffmpegenc_chain_video), (gst_ffmpegenc_chain_audio): * ext/libpostproc/Makefile.am: Backport BRANCH-THREADED to HEAD, fix a bit. === release 0.8.6 === 2005-08-05 Ronald S. Bultje * NEWS: * RELEASE: * configure.ac: Release gst-ffmpeg 0.8.6 "Vamoz a la Playa". 2005-07-28 daniel fischer Reviewed by: Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.h: Actually initialize value (#311802). 2005-07-27 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.h: * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_connect), (gst_ffmpegdec_frame), (gst_ffmpegdec_chain): * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_link), (gst_ffmpegenc_chain_video): * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_loop): Use special functions for timestamp-conversion again, since we otherwise don't handle clocktimenone correctly (#311593). 2005-07-24 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_codecid): Add x264 to muxer (it was added to template, but I forgot to add h264 caps recognition for some reason). 2005-07-22 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: Make type explicit. * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_release_buffer), (gst_ffmpegdec_frame), (gst_ffmpegdec_chain), (gst_ffmpegdec_change_state): When we provide a buffer and get a valid return value (data was read), but no output (have-data==0), then we need to reuse this same output buffer, because it may be used for caching output data. Fixes #307353. * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop): Timestamp fix. 2005-07-20 Ronald S. Bultje * ext/ffmpeg/gstffmpeg.h: * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_to_pixfmt), (gst_ffmpeg_formatid_get_codecids), (gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname), (gst_ffmpeg_img_convert): * ext/ffmpeg/gstffmpegcodecmap.h: * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_negotiate), (gst_ffmpegdec_frame), (gst_ffmpegdec_chain), (gst_ffmpegdec_register): * ext/ffmpeg/gstffmpegdeinterlace.c: (gst_ffmpegdeinterlace_getcaps), (gst_ffmpegdeinterlace_pad_link): * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_src_event), (gst_ffmpegdemux_src_format_list), (gst_ffmpegdemux_src_query), (gst_ffmpegdemux_src_convert), (gst_ffmpegdemux_add), (gst_ffmpegdemux_register): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps), (gst_ffmpegenc_link), (gst_ffmpegenc_chain_video), (gst_ffmpegenc_chain_audio): * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_request_new_pad), (gst_ffmpegmux_connect), (gst_ffmpegmux_loop), (gst_ffmpegmux_register): * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_write): * ext/ffmpeg/gstffmpegscale.c: (gst_ffmpegscale_pad_link): * ext/libpostproc/gstpostproc.c: (gst_postproc_chain): Update to ffmpeg snapshot of Jul 20 2005 4:00 PM GMT. Mostly some added codecs, some API changes, etc. Also adds a VOB muxer for MPEG-2 video and adds h264 to .mp4 muxing. 2005-07-16 daniel fischer Reviewed by: Ronald S. Bultje * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_open): Strip off private flags from context value (#310054). 2005-07-11 Luca Ognibene * ext/ffmpeg/gstffmpegdec.c (struct _GstFFMpegDec) (gst_ffmpegdec_open, gst_ffmpegdec_negotiate): Cache the pixel format value and renegotiate the pipeline if this value changes. Fixes segfault when decoding a stream with different colorspaces like a sequence of jpeg. 2005-07-11 daniel fischer Reviewed by: Ronald S. Bultje * ext/ffmpeg/gstffmpeg.h: * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_loop): * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_open), (gst_ffmpegdata_write): Add a stream-header flag to set stream-header caps on some streams, such as (in this case) flv (fixes #309051). 2005-06-27 Luca Ognibene * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop): timestamp is a GstClockTime, not a double.. fix #309149 and maybe others bug 2005-06-27 Daniel Fischer reviewed by: Luca Ognibene * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_video): more DELTA_UNIT / KEY_UNIT fixes 2005-06-27 Daniel Fischer reviewed by: Luca Ognibene * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_to_caps), (gst_ffmpeg_formatid_get_codecids), (gst_ffmpeg_caps_to_codecid): add flv encoder * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame): set both DELTA_UNIT and KEY_UNIT * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_loop): use DELTA_UNIT and not the deprecated KEY_UNIT 2005-06-25 Luca Ognibene * ext/libpostproc/gstpostproc.c: (gst_ffmpeg_log_callback), (plugin_init): * ext/libpostproc/gstpostproc.h: fix debug output 2005-06-25 Sebastien Cote Reviewed by: Luca Ognibene * ext/ffmpeg/gstffmpegenc.c (gst_ffmpegenc_chain_video): set the GST_BUFFER_DELTA_UNIT while encoding fix #308804 2005-06-20 Edward Hervey * ext/libpostproc/gstpostproc.c: (gst_postproc_register): It works better when filing the hash_table BEFORE registering the element. 2005-06-20 Edward Hervey * ext/Makefile.am: (SUBDIRS): * ext/libpostproc: * ext/libpostproc/Makefile.am: * ext/libpostproc/gstpostproc.c: * ext/libpostproc/gstpostproc.h: ffmpeg's libpostproc wrapper plugins * configure.ac: added --enable-pp to ffmpeg configure arguments 2005-06-11 Ronald S. Bultje * configure.ac: Dev mode. === release 0.8.5 === 2005-06-11 Ronald S. Bultje * NEWS: * RELEASE: * TODO: * configure.ac: Release 0.8.5 "For the better of the world". * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid): Stay backwards compatible a short while longer (SVQ3). 2005-06-09 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame): Only do timestamp interpolation for delayed streams (containing B-frames). Fixes stuttering playback of ASF files (#306770). 2005-06-09 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_with_codecid): Remove weird flags from SVQ3 flags and just give full atom, like other files; fixes frame order problems (#306530). 2005-06-08 Luca Ognibene * ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_change_state): First close the ffmpeg context than try to free last_buffer. fix #306893 2005-06-03 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open), (gst_ffmpegdec_handle_event), (gst_ffmpegdec_register): Disable parsing on h264 for now, seems to break avc decoding. 2005-06-03 Ronald S. Bultje * configure.ac: scale requires -libs (video.h). * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps): Don't crash if open failed. 2005-05-24 Luca Ognibene * ext/ffmpeg/gstffmpegdeinterlace.c (gst_ffmpegdeinterlace_chain): Always stamp your buffers ! (ooops) 2005-05-24 Edward Hervey * ext/ffmpeg/gstffmpegscale.c: (gst_ffmpegscale_chain): Always stamp your buffers ! 2005-05-17 Luca Ognibene * ext/ffmpeg/gstffmpegcodecmap.c (gst_ffmpeg_pixfmt_to_caps): Add YUV444P format as Y444 2005-05-15 Luca Ognibene * ext/ffmpeg/Makefile.am: * ext/ffmpeg/gstffmpegdeinterlace.c: * ext/ffmpeg/gstffmpeg.c (plugin_init): Add ffdeinterlace element * TODO: yo, another thing removed from the TODO 2005-05-14 Luca Ognibene * ext/ffmpeg/gstffmpegscale.c (gst_ffmpegscale_change_state): Don't segfault if using passthrough 2005-05-13 Luca Ognibene * ext/ffmpeg/gstffmpeg.c (plugin_init): * ext/ffmpeg/Makefile.am: * ext/ffmpeg/gstffmpegscale.c: Add ffvideoscale element (#303727) * TODO: update TODO * ext/ffmpeg/gstffmpegcodecmap.c (gst_ffmpeg_pixfmt_to_caps): Add support for GRAY8 colorspace 2005-05-11 Luca Ognibene * ext/ffmpeg/gstffmpegenc.c (gst_ffmpegenc_chain_video): * ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_chain): Makes ffmpegdec and ffmpegenc use these functions and remove a comment from a previuos patch * ext/ffmpeg/gstffmpegcodecmap.h: Add two utility functions to convert the pts from/to the ffmpeg format 2005-05-06 Luca Ognibene Reviewed by: Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_init), (gst_ffmpegdec_open), (gst_ffmpegdec_connect), (gst_ffmpegdec_get_buffer), (gst_ffmpegdec_release_buffer), (gst_ffmpegdec_frame), (gst_ffmpegdec_change_state): Re-re-enable get_/release_buffer functions, removes a few more percent of our CPU usage (#301783). 2005-05-02 Luca Ognibene Reviewed by: Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_pixfmt_to_caps): Add JPEG-formatted YUV enums. 2005-05-01 Ronald S. Bultje * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_class_init), (gst_ffmpegmux_finalize), (gst_ffmpegmux_loop), (gst_ffmpegmux_change_state): Fix possible segfaults (#302017). 2005-04-25 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_handle_event): Use CODEC_CAP_DELAY and remove max-10-delayed-frames hack. 2005-04-23 Luca Ognibene Reviewed by: Ronald S. Bultje * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps): Don't crash if avcodec_open failed (#301717). 2005-04-21 Ronald S. Bultje * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): Re-disable mov typefinding which breaks mov playback. 2005-04-21 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname): Add ALAC, shorten and some more in new FFMPEG snapshot of 21/4, somewhere this afternoon. * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_register): Add warnings to decoder registration to easier add new ones during snapshot updates. 2005-04-21 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_get_codecids): Enable MPEG muxer. 2005-04-18 Luca Ognibene Reviewed by: Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame): Next try at using pad_alloc_buffer (#300923). 2005-04-16 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame): Revert previous, we cannot call pad_alloc_buffer() before being negotiated. 2005-04-16 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame): Use gst_pad_alloc_buffer(). 2005-04-14 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_handle_event): Safety bet to not completely crush the system on EOS. Fixes the bad behaviour of #300200 (doesn't fix the actual issue). 2005-04-02 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open), (gst_ffmpegdec_handle_event): Fix breakage of testsuite by adding keyframe syncing; changed to sync only for some streamtypes (MPEG-2/-4, for now). * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_add): Add tags. 2005-04-01 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_init), (gst_ffmpegdec_open), (gst_ffmpegdec_frame), (gst_ffmpegdec_handle_event): Implement keyframe syncing. 2005-03-14 Ronald S. Bultje * ext/ffmpeg/gstffmpeg.c: (plugin_init): Enable muxers (only mp4 muxer for now). * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_get_codecids), (gst_ffmpeg_caps_to_codecid): * ext/ffmpeg/gstffmpegcodecmap.h: Fix a bunch of typos in codec-id lookup (false/true return value mixup), add a codec-id list retrieval function (because ffmpeg does not provide one). With that, we can make valid pad templates. * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_init), (gst_ffmpegmux_connect), (gst_ffmpegmux_loop), (gst_ffmpegmux_change_state), (gst_ffmpegmux_get_id_caps), (gst_ffmpegmux_register): Fix for whatever changed since I last tried this. Works for MP4 muxing. * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_open), (gst_ffmpegdata_peek), (gst_ffmpegdata_write), (gst_ffmpegdata_seek), (gst_ffmpegdata_close): Update obviously-untested write code... 2005-03-13 Ronald S. Bultje * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_video): Fix crash on randomly sized input (#169082). 2005-03-11 Ronald S. Bultje * configure.ac: Dev. === release 0.8.4 === 2005-03-11 Ronald S. Bultje * NEWS: * RELEASE: * configure.ac: Release 0.8.4 "Mellow on my fingers". 2005-03-06 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps): Add MPEG-4 audio for debugging. 2005-02-05 Ronald S. Bultje * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_link): Only free context if it was created (otherwise it crashes). 2005-02-04 Jan Schmidt * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame), (gst_ffmpegdec_chain), (gst_ffmpegdec_register): Reduce the rank of the mpeg2 decoder back below mpeg2dec Use the parser to reorder pts times. Fixes mpeg playback without changing any other files I tested. Use the repeat_pict flag to correctly set durations 2005-02-02 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_to_codecid): Change caps of MJPEGB to not interfere with MJPEG/JPEG. * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): Remove rank for SP5X, no clue what that is... 2005-02-01 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame): Don´t SIGFPE right away. 2005-01-31 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_lowres_get_type), (gst_ffmpegdec_skipframe_get_type), (gst_ffmpegdec_class_init), (gst_ffmpegdec_init), (gst_ffmpegdec_connect), (gst_ffmpegdec_frame), (gst_ffmpegdec_set_property), (gst_ffmpegdec_get_property): Implement B-frame skipping and low-resolution decoding (useful for very slow CPUs). 2005-01-28 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_register): Oops, unbreak audio. 2005-01-28 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_to_codecid): Add AMR mimetypes (since those are recognized in ffmpeg). * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame), (gst_ffmpegdec_register): * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_register): Register law codecs too, add time debug. Use ANY for template caps since we don't necessarily have available decoders for recognized formats. 2005-01-27 Ronald S. Bultje * ext/ffmpeg/gstffmpeg.c: (plugin_init): Fix compile with debug disabled (#165250). 2005-01-25 Ronald S. Bultje * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_peek): Yet Another Logic Error. 2005-01-25 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_negotiate): . 2005-01-25 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt): Add extradata to huffyuv, sync RGBA32 up with gst-plugins. * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_query), (gst_ffmpegdec_event): Make somewhat clearer. 2005-01-19 Ronald S. Bultje * TODO: Update since some tasks are done. * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_to_caps): * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_type_find): Add correct mimetype for FLI video, restore correct typefind priority. 2005-01-19 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_connect), (gst_ffmpegdec_frame), (gst_ffmpegdec_handle_event), (gst_ffmpegdec_chain): More debug, re-fix MPEG-2 (yes, I broke it already!). 2005-01-19 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_handle_event), (gst_ffmpegdec_chain): Another fix for MPEG-4 movies... 2005-01-19 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open), (gst_ffmpegdec_connect), (gst_ffmpegdec_negotiate), (gst_ffmpegdec_frame), (gst_ffmpegdec_handle_event): Add some more debug, fix for B-frame containing XviD movies. 2005-01-19 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_handle_event): Only flush when the codec is opened. 2005-01-19 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname): * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): Re-add H263I as intel-h263 (which is not h263-compliant...). Increase rank of mpeg2video since it plays more videos than its gst-plugins counterpart, with no regressions. 2005-01-19 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame): Don't unref NULL data... 2005-01-19 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_init), (gst_ffmpegdec_open), (gst_ffmpegdec_frame), (gst_ffmpegdec_handle_event), (gst_ffmpegdec_chain): Add B-frame timestamp smoothing. 2005-01-19 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame), (gst_ffmpegdec_chain): Separate buffer handling from actual decoding, handle pending frames (for B-frames and so on) so we catch the last frames before EOS, prepare for some timestamp changes to make playback of movies with B-frames smoother (not done yet). 2005-01-18 Ronald S. Bultje (gst_ffmpegdec_negotiate), (gst_ffmpegdec_chain): * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_init), (gst_ffmpegdemux_close), (gst_ffmpegdemux_src_query), (gst_ffmpegdemux_loop): Add simple query functions. Seeking is only cosmetic, it's not actually filled in yet (in ffmpegdec). 2005-01-17 Ronald S. Bultje * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_init), (gst_ffmpegenc_link), (gst_ffmpegenc_chain_video): Remove EMU_EDGE, since that really fixes #162905. Revert previous hacks. 2005-01-16 Ronald S. Bultje * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_video): Unref after encode (#162905). 2005-01-16 Luca Ognibene Reviewed by: Ronald S. Bultje * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_link), (gst_ffmpegenc_chain_video): Workaround memory issues (#162905). 2005-01-10 Ronald S. Bultje * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_type_find): Decrease certainty a bit so we use flxdec for .flx videos. 2005-01-09 Ronald S. Bultje * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_dispose): Call parent. 2005-01-09 Luca Ognibene Reviewed by: Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): Disable parsing for MJPEG input since that's already cut at frame-boundaries. Fixes #163340. 2005-01-06 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_to_codecid): Set property incompatible with DV demuxer so that it won't infinitely plug demuxers to each other. Fixes playback of .dv streams in Totem. 2004-12-27 Ronald S. Bultje * configure.ac: Dev. === release 0.8.3 === 2004-12-27 Ronald S. Bultje * NEWS: * RELEASE: * configure.ac: Release 0.8.3 "Tiny Piece of Plastic". 2004-12-25 Ronald S. Bultje * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): Don't cripple rank as a hack to not register typefind functions. Instead, just use a boolean for that. This makes ID3-tagged MP3 files play even if mad is not installed. 2004-12-20 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): Remove rank from ffdec_h263i until I know how it's different from ffdec_h263. Fixes #155163. 2004-12-18 David Schleef * autogen.sh: execute ffmpeg's autogen.sh directly * gst-libs/ext/ffmpeg/autogen.sh: Add a #! line. Specify bash, since there are bashisms ('local'). 2004-12-19 Ronald S. Bultje * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_open), (gst_ffmpegdata_peek), (gst_ffmpegdata_read), (gst_ffmpegdata_write), (gst_ffmpegdata_seek), (gst_ffmpegdata_close): Add debug. Don't EOS unless all data was read. 2004-12-19 Ronald S. Bultje * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_peek), (gst_ffmpegdata_read), (gst_ffmpegdata_seek): Some "seeking" hacks, and separate peek from read (read = peek + flush) so seek can use peek as well to workaround typefind. With this, I'm able to play several of the gaming format movies in Totem. 2004-12-18 Ronald S. Bultje * ext/ffmpeg/Makefile.am: * ext/ffmpeg/gstffmpeg.h: Add header. 2004-12-18 Ronald S. Bultje * ext/ffmpeg/gstffmpeg.c: * ext/ffmpeg/gstffmpegcodecmap.c: * ext/ffmpeg/gstffmpegcodecmap.h: * ext/ffmpeg/gstffmpegcolorspace.c: * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): * ext/ffmpeg/gstffmpegdemux.c: * ext/ffmpeg/gstffmpegenc.c: * ext/ffmpeg/gstffmpegmux.c: * ext/ffmpeg/gstffmpegprotocol.c: Add debugging category everywhere (correctly this time). Don't parse mp3 data (the parser is a piece of crap). Fixes #155274 mostly. Seeking pending. 2004-12-18 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_to_caps): Add ID3 mime. Should partially fix #155274 (although raw mp3 sounds awful, it doesn't parse correctly in the decoder-only case). 2004-12-17 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_get_codecid_longname): Fix typo. 2004-12-17 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): Small parsing fix in comb. with ffdemux_mpeg. 2004-12-17 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_init), (gst_ffmpegdec_close), (gst_ffmpegdec_open), (gst_ffmpegdec_chain): Include optional parser if supported (currently only MPEG-1/-2 video). This fixes playback of MPEG-1/-2 videos using ffdec_mpeg2video. 2004-12-17 Ronald S. Bultje * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_base_init), (gst_ffmpegenc_init), (gst_ffmpegenc_getcaps), (gst_ffmpegenc_link): Move setup of sink caps (accepted formats) to a separate function rather than doing it on initialization. 2004-12-16 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname), (gst_ffmpeg_avpicture_fill): Add new codecIDs from new snapshot (Thu Dec 16 11:27:18 2004). * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_src_event), (gst_ffmpegdemux_type_find), (gst_ffmpegdemux_loop): * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_loop): API updates. * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_read), (gst_ffmpegdata_seek): A slightly smarter approach, but it still needs lost of work to be reliable in any way... 2004-12-16 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_init), (gst_ffmpegdec_close), (gst_ffmpegdec_connect), (gst_ffmpegdec_negotiate), (gst_ffmpegdec_chain): Move negotiation outside the _chain function, and use the codec PAR if available and prefer it over demuxer PAR (since this is usually the right thing to do). Fixes #159755. 2004-12-16 Sebastien Cote Reviewed by: Ronald S. Bultje * ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_pad_link): Fix memleak (#154815). 2004-12-16 Ronald S. Bultje * ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_pad_link), (gst_ffmpegcsp_init), (gst_ffmpegcsp_chain), (gst_ffmpegcsp_change_state): Some sync with ffmpegcolorspace (flatten AVFrame). 2004-11-05 Wim Taymans * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_avpicture_get_size), (gst_ffmpeg_avpicture_fill), (gst_ffmpeg_img_convert): * ext/ffmpeg/gstffmpegcodecmap.h: * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): Fix strides and plane sizes when dealing with odd sized movies. 2004-10-29 Sebastien Cote Reviewed by: Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): Prevent division by zero (#155212). 2004-10-29 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_avpicture_fill): * ext/ffmpeg/gstffmpegcodecmap.h: * ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_chain): * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_get_buffer), (gst_ffmpegdec_chain): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_video): Sync with gst-plugins ffmpegcolorspace, align-by-4. Ready to re-sync gst-plugins ffmpegcolorspace with ours and deprecate this one. 2004-10-25 Ronald S. Bultje * ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_pad_link): Backport changes from ffmpegcolorspace (gst-plugins) so we can then move the whole of this plugin back and deprecate this (no, I'm not insane). 2004-10-25 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_codectype_to_caps), (gst_ffmpeg_caps_with_codecid): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_base_init), (gst_ffmpegenc_connect), (gst_ffmpegenc_register): Fix encoders. Fix if encoder supports >1 caps. 2004-10-25 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_get_codecid_longname): * ext/ffmpeg/gstffmpegcodecmap.h: * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_base_init), (gst_ffmpegdec_register): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_base_init), (gst_ffmpegenc_register): Hmm, fancy names... 2004-10-20 Thomas Vander Stichele * configure.ac: up req of GStreamer since we use fractions 2004-10-11 Ronald S. Bultje * gst-ffmpeg.spec.in: Remove unused 'versioning' variable. 2004-10-11 Ronald S. Bultje * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_init), (gst_ffmpegenc_chain_video): Set chain function before adding pad, fix memleak on error, error out on encode errors because none of subsequent frames will work any better (this is not input dependent). 2004-10-09 Ronald S. Bultje * configure.ac: CVS. === release 0.8.2 === 2004-10-09 Ronald S. Bultje * NEWS: * RELEASE: * configure.ac: Release 0.8.2. 2004-10-09 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): Unref when not usable. 2004-10-04 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_with_codecid): Negotiation fixes for real video codecs. 2004-10-02 Ronald S. Bultje * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop): Fix timestamps. Quite some of the gaming formats work now. :). 2004-10-02 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_caps_to_codecid): Generalized palette functions, add actual mimetypes for wing commander formats. * ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_chain): Ffmpeg has internal palette functions, so I noticed. * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): Actually remove all palette code. 2004-10-02 Ronald S. Bultje * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop): Signal no_more_pads. * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_read), (gst_ffmpegdata_seek): Handle events. 2004-10-02 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_pixfmt): * ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_pad_link), (gst_ffmpegcsp_init), (gst_ffmpegcsp_chain), (gst_ffmpegcsp_change_state), (gst_ffmpegcsp_register): * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): Move palette handling over from the decoder to the colorspace conversion plugin (where you would expect it). 2004-10-01 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_caps_to_codecid): Simplify codec_data handling. 2004-09-23 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): Update timestamp for every new buffer that we output. Improves audio playback for several files that have multiple audio chunks per buffer. 2004-09-22 Ronald S. Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): msmpeg4v3 should be priority as well, else it will choose divxdec first (which we don't want). 2004-09-20 Ronald S. Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_with_codecid): WMV extradata (make #152798 work). J-frames are only available in the bitstream if the J-frame bit has been set in the extradata. If not (or if extradata is not provided), the movie won't play. * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_close), (gst_ffmpegdec_connect), (gst_ffmpegdec_chain): Only close ffmpeg if privdata was allocated (else it segfaults). Autodetect encoding bugs and workaround it. Don't copy data if decoding failed. * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop): Use read_frame() instead of read_packet() which is obsolete. 2004-09-16 Iain * ext/ffmpeg/gstffmpegmux.c (gst_ffmpegmux_register): Free name fix leak. 2004-07-21 Thomas Vander Stichele * ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_chain): no point in doing any chaining if the pad we want to push from isn't usable. 2004-07-21 Thomas Vander Stichele * configure.ac: bump nano === gst-ffmpeg 0.8.1 === 2004-07-16 Thomas Vander Stichele * configure.ac: release 0.8.1, "Just Another Victim" 2004-07-08 Thomas Vander Stichele * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_base_init): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_base_init): d'oh, put them back 2004-07-07 Thomas Vander Stichele * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): drop incoming buffers that generate decoding errors 2004-07-07 Thomas Vander Stichele * ext/ffmpeg/gstffmpeg.c: (gst_ffmpeg_log_callback), (plugin_init): * ext/ffmpeg/gstffmpegcodecmap.h: * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): hook up our debug handler to FFmpeg's. warn about getting negative have_data 2004-07-04 Thomas Vander Stichele * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_base_init): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_base_init): bring category order in line with others 2004-06-13 Ronald Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_to_codecid): * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_read): Do some more random property setting. Fix for if there's less than ffmpeg-default-buffersize (32kB) data in a file _and_ there's an event pending. Partially fixes #142320. 2004-06-06 Ronald Bultje * ext/ffmpeg/gstffmpeg.c: (plugin_init): Remove redundant calls which are called internally already. * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid): Indenting... * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop), (gst_ffmpegdemux_register): Remove typefind functions and rank for demuxers for any demuxer that we already have in GStreamer. 2004-05-18 Benjamin Otte * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid): don't operate on undefined variables (fixes #135145) 2004-05-16 Benjamin Otte * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): Hi, I'm a memleak 2004-05-14 Ronald Bultje * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_src_event), (gst_ffmpegdemux_src_query), (gst_ffmpegdemux_src_convert), (gst_ffmpegdemux_open), (gst_ffmpegdemux_loop): * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_open), (gst_ffmpegdata_read), (gst_ffmpegdata_write), (gst_ffmpegdata_seek): Fix up demuxer. Works now for all my files that I tried, even quicktime. I basically hack around the super-oversimplistic file I/O handling in ffmpeg in several ways together, and I also hack around the fairly annoying EOS-will-pause-the-source-element in GStreamer itself. This code is not pretty. 2004-05-11 Jeremy Simon * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_with_codecid): block_align and bitrate caps property were lost for wma use codec_data instead of flag1 and flag2 2004-05-11 Benjamin Otte * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_to_caps): it's audio/x-wav, not video/x-wav 2004-05-10 Stephane Loeuillet * ext/ffmpeg/gstffmpegdec.c * ext/ffmpeg/gstffmpegenc.c change plugins category to meet our new standard : Codec/Encoder|Decoder/Audio|Video suggested by bilboed, approved by Company 2004-05-04 Thomas Vander Stichele * gst-libs/ext/ffmpeg/autogen.sh: * gst-libs/ext/ffmpeg/patches/autotools.patch: require am17 since AM_CONDITIONAL's are being done using variables which doesn't work with am16 2004-04-30 Thomas Vander Stichele * ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_getcaps): revert previous patch 2004-04-29 Thomas Vander Stichele * ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_getcaps): use GST_PAD_CAPS if they exist so we don't renegotiate needlessly 2004-04-22 Ronald Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_caps_to_codecid): WAV/IMA-ADPCM -> DVI ADPCM. 2004-04-22 Benjamin Otte * ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_caps_remove_format_info): use gst_caps_do_simplify 2004-04-19 Benjamin Otte * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_type_find): reduce maximum probability in typefinding to POSSIBLE. prevents misidentification of my mp3s as video/mpeg 2004-04-15 Ronald Bultje * ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_chain): NULL -> (NULL) inside GST_ELEMENT_ERROR(). 2004-04-15 Ronald Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_get_palette), (gst_ffmpeg_set_palette), (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_pixfmt_to_caps), (gst_ffmpeg_caps_to_smpfmt), (gst_ffmpeg_caps_to_pixfmt), (gst_ffmpeg_caps_with_codectype), (gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_caps_to_codecid): * ext/ffmpeg/gstffmpegcodecmap.h: Change some function names to reflect that they don't really _return_ something, but rather _use_ something to fill a AVCodecContext. s/to/with/. Restructure the extradata handling, it's now not picking up the type from the caps but rather using the type as provided in the function. This is a lot cleaner. Implement MS RLE palette pickup. * ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_pad_link): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect): Sync with the above function name changes. * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_close), (gst_ffmpegdec_open), (gst_ffmpegdec_connect), (gst_ffmpegdec_chain), (gst_ffmpegdec_change_state): Add some hacks to convert palette-based raw image formats to RGBA32. Ugly, but I don't know how else to handle palette-based RGB, since img_convert() (and thus ffcolorspace) doesn't accept a palette as argument. 2004-04-14 Thomas Vander Stichele * everything: updated upstream source to 2004-04-11 23:00 GMT and fixed up patches 2004-04-11 Ronald Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps): Add MS Video v1 (video/x-msvideocodec, CODEC_ID_MSVIDEO1). 2004-04-08 David Schleef * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps): Change variadic macro to ISO form. (bug #139460) 2004-04-06 Benjamin Otte * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): fix memleaks 2004-04-05 Benjamin Otte * configure.ac: fix --export-symblos-regex to a working regex. 2004-04-03 Tim-Philipp Müller reviewed by: David Schleef * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): Fix memleaks (bug #138985) 2004-03-29 Thomas Vander Stichele * ext/ffmpeg/*.c: indent 2004-03-25 Ronald Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_base_init): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_base_init): Fix category. * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_class_init), (gst_ffmpegdemux_init), (gst_ffmpegdemux_close): Slightly rewrite the init function, old one was ugly. Also remove dispose function since it's obsolete, the change_state function cleans up already. Also fixes segfault in test-app gstreamer/tests/instantiate/create 2004-03-24 Benjamin Otte * configure.ac: only export gst* symbols * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain): change g_warning to debugging message, that wasn't a programming error 2004-03-18 Thomas Vander Stichele * ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_chain): don't critical, throw error (#137588) 2004-03-16 Thomas Vander Stichele * configure.ac: bump nano to 1 === gst-ffmpeg 0.8.0 === 2004-03-16 Thomas Vander Stichele * configure.ac: release 0.8.0, "In Buildings" 2004-03-15 Thomas Vander Stichele * gst-libs/ext/ffmpeg/.pc/cvsignore/doc/.cvsignore: * gst-libs/ext/ffmpeg/.pc/cvsignore/libavcodec/i386/.cvsignore: * gst-libs/ext/ffmpeg/configure: * gst-libs/ext/ffmpeg/libavformat/matroska.c: (ebml_read_float): * gst-libs/ext/ffmpeg/patches/matroska.patch: patch from Ronald to work on ppc 2004-03-15 Thomas Vander Stichele * ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_get_type): fix name of static to be in line with code 2004-03-15 Thomas Vander Stichele * configure.ac: don't set ACLOCAL_FLAGS ! * gst-libs/ext/ffmpeg/.cvsignore: * gst-libs/ext/ffmpeg/patches/cvsignore.patch: trying to add configure to be ignored 2004-03-15 Thomas Vander Stichele reviewed by: * gst-libs/ext/ffmpeg/.cvsignore: * gst-libs/ext/ffmpeg/patches/cvsignore.patch: 2004-03-15 Thomas Vander Stichele * gst-libs/ext/ffmpeg/m4/vorbis.m4: * gst-libs/ext/ffmpeg/patches/autotools.patch: adding vorbis.m4 2004-03-15 Thomas Vander Stichele * gst-libs/ext/ffmpeg/m4/ogg.m4: * gst-libs/ext/ffmpeg/patches/autotools.patch: * gst-libs/ext/ffmpeg/patches/no-imlib.patch: adding ogg.m4 2004-03-15 Thomas Vander Stichele * gst-libs/ext/ffmpeg/patches/autotools.patch: * gst-libs/ext/ffmpeg/.pc/no-imlib/configure.ac: * gst-libs/ext/ffmpeg/autogen.sh: fix aclocal invocation to include m4 dir * gst-libs/ext/ffmpeg/configure.ac: add line to fix maintainer mode with aclocal 2004-03-15 Thomas Vander Stichele * gst-libs/ext/ffmpeg/m4/imlib.m4: * gst-libs/ext/ffmpeg/m4/sdl.m4: * gst-libs/ext/ffmpeg/m4/freetype2.m4: * gst-libs/ext/ffmpeg/patches/autotools.patch: fix underquotedness, add freetype2.m4 2004-03-15 Thomas Vander Stichele * gst-libs/ext/ffmpeg/patches/autotools.patch: put in sdl.m4 and imlib.m4 2004-03-15 Thomas Vander Stichele * gst-libs/ext/ffmpeg/.pc/autotools/.pc: * gst-libs/ext/ffmpeg/.pc/no-imlib/configure.ac: * gst-libs/ext/ffmpeg/.pc/noinst-programs/Makefile.am: * gst-libs/ext/ffmpeg/autogen.sh: * gst-libs/ext/ffmpeg/configure: * gst-libs/ext/ffmpeg/configure.ac: * gst-libs/ext/ffmpeg/doc/.cvsignore: * gst-libs/ext/ffmpeg/libavcodec/i386/.cvsignore: * gst-libs/ext/ffmpeg/patches/autotools.patch: * gst-libs/ext/ffmpeg/patches/no-imlib.patch: fixing Makefile.am omission in autotools patch fix noinst-programs.patch 2004-03-14 Ronald Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps): * ext/ffmpeg/gstffmpegcodecmap.h: * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain), (gst_ffmpegdec_register): * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_add), (gst_ffmpegdemux_register): * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_connect), (gst_ffmpegenc_register): * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_register): Add encode property to codec mapper, so we can get better-fitting caps. Also use this everywhere. ;). Lastly, add some new codecIDs to our list of recognized ones. 2004-03-12 Thomas Vander Stichele * gst-libs/ext/ffmpeg/.pc/applied-patches: * gst-libs/ext/ffmpeg/.pc/noinst-programs/.pc: * gst-libs/ext/ffmpeg/.pc/noinst-programs/Makefile.am: * gst-libs/ext/ffmpeg/Makefile.am: * gst-libs/ext/ffmpeg/patches/series: add patch to not install programs 2004-03-12 Thomas Vander Stichele * gst-libs/ext/ffmpeg/.pc/no-imlib/configure.ac: * gst-libs/ext/ffmpeg/.pc/autotools/.pc: * gst-libs/ext/ffmpeg/autogen.sh: * gst-libs/ext/ffmpeg/configure.ac: added m4 dir to autotools patch to fix imlib and sdl warnings 2004-03-12 Thomas Vander Stichele * gst-libs/ext/ffmpeg/.pc/no-imlib/configure.ac: * gst-libs/ext/ffmpeg/configure.ac: * gst-libs/ext/ffmpeg/patches/series: add patch to remove imlib completely 2004-03-11 Thomas Vander Stichele * configure.ac: use new setup with mirrored cvs tree 2004-03-10 David Schleef * gst-libs/ext/ffmpeg/patch/asm.diff: Add a patch that decreases register usage. (bug #136658) 2004-03-10 David Schleef * configure.ac: bump gstreamer API number to 0.8 2004-03-09 Ronald Bultje * ext/ffmpeg/Makefile.am: Prevent more symbol conflicts... * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register): Up priority/rank for MPEG-4 decoder. Reason is simple: it's well- tested and by far outperforms xviddec/divxdec. They'll get some other, slightly lower, rank. * gst-libs/ext/ffmpeg/patch/autotools.diff: Tweaking... * gst-libs/ext/ffmpeg/patch/disableinstalllibs.diff: Prevent more symbol conflicts. I changed this (to pass 'make distcheck') in the one patch, so need to change it here too. * gst-libs/ext/ffmpeg/patch/disablemmx.diff: Re-enable MMX. :). * gst-libs/ext/ffmpeg/patch/functions.diff: Bla. 2004-03-09 Ronald Bultje * configure.ac: Patch properly. Update version. * gst-libs/ext/ffmpeg/Makefile.am: Comment out patching - all handled by configure. * gst-libs/ext/ffmpeg/Tag: Update version. * gst-libs/ext/ffmpeg/patch/autotools.diff: Some small updates to improve compiling. * gst-libs/ext/ffmpeg/patch/functions.diff: Update date. * gst-libs/ext/ffmpeg/patch/matroska.diff: Newer patch - see ffmpeg-devel mailinglists. * gst-libs/ext/ffmpeg/patch/function.patch: Remove old cruft. * gst-libs/ext/ffmpeg/patch/disabletools.diff: Now handled by --disable-... in configure. 2004-03-07 David Schleef * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps): Add cinepak format. (bug #136470) 2004-03-05 David Schleef * configure.ac: Call ffmpeg's configure with --disable-v4l, --disable-oss-audio, --disable-dv1394 (bug #127873) 2004-03-04 Ronald Bultje * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_to_caps): Fix quicktime type recognition in ffmpeg. We returned a bogus caps, which caused ffdemux_quicktime to be chosen over qtdemux. This fixes that. 2004-03-04 Ronald Bultje * configure.ac: Brackets cause autoconf errors. So remove them. * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_add): Actually use the event/convert/query functions. D'oh. 2004-03-02 Ronald Bultje * configure.ac: * gst-libs/ext/ffmpeg/Makefile.am: Slightly change the way we set this up. Ugly, but now it works again. This baby is looking for a proper fix. * gst-libs/ext/ffmpeg/Tag: Apparently CVS and me disagree on the tag... Ohwell, CVS wins. * gst-libs/ext/ffmpeg/patch/autotools.diff: * gst-libs/ext/ffmpeg/patch/disableinstalllibs.diff: Slight nag on a link between lavf/lavc in ffmpeg. Not really important for us since the code is the same in the end, but this is actually correct from a per-patch point-of-view... 2004-03-02 Ronald Bultje * gst-libs/ext/ffmpeg/Makefile.am: Fix patching. 2004-03-01 Ronald Bultje * ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_connect): Fix B-frame DivX5/XviD display by removing the truncated flag when not needed. * gst-libs/ext/ffmpeg/patch/autotools.diff: Remove link to libavcodec - it causes symbol conflicts (why?). 2004-02-29 Ronald Bultje * HACKING: Add some basic documentation on how our wrapping works. * TODO: Add a list of things that could be worked on or that need doing. * configure.ac: Update snapshot. * ext/ffmpeg/Makefile.am: Changne .la links. See below (autotools patch). * ext/ffmpeg/gstffmpeg.c: (plugin_init): Enable demuxers. See below (gstffmpegdemux.c). * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_to_caps): Realmedia caused a crash - fix that. * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_averror), (gst_ffmpegdemux_base_init), (gst_ffmpegdemux_init), (gst_ffmpegdemux_close), (gst_ffmpegdemux_dispose), (gst_ffmpegdemux_stream_from_pad), (gst_ffmpegdemux_src_event_mask), (gst_ffmpegdemux_src_event), (gst_ffmpegdemux_src_format_list), (gst_ffmpegdemux_src_query_list), (gst_ffmpegdemux_src_query), (gst_ffmpegdemux_src_convert), (gst_ffmpegdemux_add), (gst_ffmpegdemux_open), (gst_ffmpegdemux_loop), (gst_ffmpegdemux_change_state), (gst_ffmpegdemux_register): Right. OK, so I fixed up the demuxing and have it basically-working, and the best way to get some more people to test it is to actually enable it. I'm not sure if we want this for 0.8.0, but we can at least give it a try. I've tested avi, matroska and mpeg, all appear to work. The cool thing is that this gives us instant support for several exotic formats that we'd never care about ourselves. Again, this needs more testing for it to still be enabled in 0.8.0, but I want to give it a try... * ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_base_init), (gst_ffmpegmux_init), (gst_ffmpegmux_request_new_pad), (gst_ffmpegmux_connect), (gst_ffmpegmux_loop), (gst_ffmpegmux_register): Add some fixups that I use locally. Make it work in the case of MPEG encoding, but the muxer is still not in shape to be enabled. * ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_open), (gst_ffmpegdata_read), (gst_ffmpegdata_write), (gst_ffmpegdata_seek), (gst_ffmpegdata_close): Some small fixups that crept into it while it was disabled for the last few years. Basically works. * gst-libs/ext/ffmpeg/Makefile.am: Instead of having our local-autotoolized version, I patch the ffmpeg source to be fully autotoolized. That means a simple SUBDIRS here is now enough. * gst-libs/ext/ffmpeg/Tag: Version update. * gst-libs/ext/ffmpeg/patch/autotools.diff: Autotoolize ffmpeg. Needs to be sent to ffmpeg-devel@... * gst-libs/ext/ffmpeg/patch/disableinstalllibs.diff: Don't install their libs. * gst-libs/ext/ffmpeg/patch/disablemmx.diff: Don't use MMX. It cannot ocmpile using PIC. * gst-libs/ext/ffmpeg/patch/disabletools.diff: Don't compile/install their tools, we don't use them. * gst-libs/ext/ffmpeg/patch/functions.diff: Prevent symbol conflicts. * gst-libs/ext/ffmpeg/patch/matroska.diff: Add a matroska demuxer. Needs to be sent to ffmpeg-devel@... 2004-02-26 Thomas Vander Stichele * configure.ac: releasing 0.7.1 "True Colors" 2004-02-14 Thomas Vander Stichele * gst-ffmpeg.spec.in: fix spec file 2004-02-14 Christian Schaller * gst-ffmpeg.spec.in: add spec file 2004-02-13 Thomas Vander Stichele * creation