Commit graph

771 commits

Author SHA1 Message Date
Edward Hervey
221bcf6f97 ext/ffmpeg/gstffmpegdec.c: Previous commit in fact broke playback for standard wmv3.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps),
(gst_ffmpegdec_register):
Previous commit in fact broke playback for standard wmv3.
Instead make both ffdec_vc1 and ffdec_wmv3 accept any wmv3 variant and
figure out the proper codecid when opening the ffmpeg decoder.
2008-05-07 10:15:53 +00:00
Edward Hervey
11f80ecdc6 ext/ffmpeg/gstffmpegdec.c: Bump the priority of VC1 decoder so that it goes before the WMV3 decoder. This allows prop...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps),
(gst_ffmpegdec_video_frame), (gst_ffmpegdec_register):
Bump the priority of VC1 decoder so that it goes before the WMV3
decoder. This allows proper auto-pluggin with decodebin/playbin.
Fixes #531857
2008-05-07 09:47:57 +00:00
Sebastian Dröge
1ffe547e23 ext/ffmpeg/: Add support for MusePack StreamVersion 7 and disable the StreamVersion 8 typefinder. Fixes bug #510745.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_formatid_to_caps), (gst_ffmpeg_caps_to_codecid),
(gst_ffmpeg_get_codecid_longname):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register):
Add support for MusePack StreamVersion 7 and disable the StreamVersion
8 typefinder. Fixes bug #510745.
2008-04-19 20:27:25 +00:00
Sebastian Dröge
b83d37033a ext/ffmpeg/: Add support for Monkey's Audio (APE). Fixes bug #518033.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_formatid_to_caps),
(gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register):
Add support for Monkey's Audio (APE). Fixes bug #518033.
2008-04-19 19:43:54 +00:00
Andy Wingo
a5a03facd1 ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_sink_event): Only drain if we've already set up a codec.
Original commit message from CVS:
2008-03-18  Andy Wingo  <wingo@pobox.com>

* ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_sink_event): Only drain
if we've already set up a codec.
2008-03-18 10:35:40 +00:00
Andy Wingo
1c7202ea06 ext/ffmpeg/Makefile.am (libgstffmpeg_la_LIBADD): Re-add -lz explicitly here.
Original commit message from CVS:
2008-03-17  Andy Wingo  <wingo@pobox.com>

* ext/ffmpeg/Makefile.am (libgstffmpeg_la_LIBADD): Re-add -lz
explicitly here.

* configure.ac: Remove -lz from FFMPEG_LIBS, because FFMPEG_LIBS
are used in the Makefile.am as a DEPENDENCIES target, and -lz is
not a target. Also in a blahriffic turn of events, MMX and Altivec
code on MacOS 10.5 produces non-PIC code. Turn them off on macos.
2008-03-17 14:09:54 +00:00
Wim Taymans
52b26ee96e ext/ffmpeg/gstffmpegdec.c: When we receive a newsegment event, we must drain any pending frames because they belong t...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_sink_event):
When we receive a newsegment event, we must drain any pending frames
because they belong to the previous segment. This fixes some cases of
very large timestamps when doing segment seeks.
2008-03-11 16:07:11 +00:00
Wim Taymans
be4b2533a9 ext/ffmpeg/gstffmpegdec.c: Work around an ffmpeg bug where it always returns 0 timestamps.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open),
(get_output_buffer), (gst_ffmpegdec_video_frame),
(gst_ffmpegdec_chain):
Work around an ffmpeg bug where it always returns 0 timestamps.
2008-03-06 14:47:57 +00:00
Michael Smith
ff9e22cac5 ext/ffmpeg/gstffmpegcodecmap.c: Fix masks for RGBA32 caps. Fixes colours when decoding using ffdec_qtrle. Follows an ...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_pixfmt_to_caps):
Fix masks for RGBA32 caps. Fixes colours when decoding using
ffdec_qtrle. Follows an identical fix in the ffmpegcolorspace copy of
this code (revision 1.29).
2008-03-06 12:18:48 +00:00
Wim Taymans
62bc3b929b ext/ffmpeg/gstffmpegdec.c: Detect DTS or PTS as timestamps. This is done by tracking frame reordering on the output a...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init),
(gst_ffmpegdec_setcaps), (check_keyframe),
(gst_ffmpegdec_video_frame), (gst_ffmpegdec_sink_event),
(gst_ffmpegdec_set_property):
Detect DTS or PTS as timestamps. This is done by tracking frame
reordering on the output and making sure that timestamps don't go
backwards. Fixes #482660.
2008-03-05 17:02:33 +00:00
Damien Lespiau
bebde6f878 ext/ffmpeg/gstffmpegdec.c: Add property for controlling of motion vectors. Fixes #515811.
Original commit message from CVS:
Patch by: Damien Lespiau <damien dot lespiau at gmail dot com>
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_class_init),
(gst_ffmpegdec_init), (gst_ffmpegdec_setcaps),
(gst_ffmpegdec_set_property), (gst_ffmpegdec_get_property):
Add property for controlling of motion vectors. Fixes #515811.
API: GstFFMpegDec::debug-mv
2008-02-11 18:45:53 +00:00
Edward Hervey
d5df61ccb7 ext/ffmpeg/gstffmpegdemux.c: Don't try handling a buffer if downstream allocation failed.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop):
Don't try handling a buffer if downstream allocation failed.
Avoids crashes and Fixes #515205
2008-02-08 15:12:03 +00:00
Wim Taymans
7d3fa2df4b ext/ffmpeg/gstffmpegdec.c: Don't blindly copy input timestamp to output timestamp but prefer the one attached to the ...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_video_frame):
Don't blindly copy input timestamp to output timestamp but prefer the
one attached to the picture when we can.
Add new variables for the output timestamp and duration to make the code
a little more clear.
2008-01-29 17:53:47 +00:00
Sebastian Dröge
950ad1abbe ext/ffmpeg/gstffmpegdec.c: Initialize hurry_up to 0 to fix "might be used uninitialized" compiler warning.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_video_frame):
Initialize hurry_up to 0 to fix "might be used uninitialized"
compiler warning.
2008-01-26 15:20:10 +00:00
Wim Taymans
15c2ba23c6 ext/ffmpeg/: When doing QoS, don't drop the frame before decoding because we might drop an important reference frame,...
Original commit message from CVS:
* 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 11:44:29 +00:00
Wim Taymans
dad7b0d4af ext/ffmpeg/gstffmpegcodecmap.c: Add H263+ to valid 3GP muxing formats. Fixes #511476.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c:
(gst_ffmpeg_formatid_get_codecids):
Add H263+ to valid 3GP muxing formats. Fixes #511476.
2008-01-25 11:39:59 +00:00
Wim Taymans
2e73ff53f0 ext/ffmpeg/gstffmpegdec.c: Add padding to input data before feeding it to ffmpeg. Also add option to disable this (al...
Original commit message from CVS:
* 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 18:23:37 +00:00
Wim Taymans
e57ac5b514 ext/ffmpeg/gstffmpegdec.c: Change the pad_alloc calculations for weird clipped sizes, refactor the code a bit.
Original commit message from CVS:
* 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-23 16:08:27 +00:00
Edward Hervey
31131add1f ext/ffmpeg/gstffmpegdec.c: Disable direct-rendering by default until buffer allocation works correctly.
Original commit message from CVS:
* 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 18:24:40 +00:00
Wim Taymans
40a3686fe0 ext/ffmpeg/gstffmpegdec.c: Disable direct rendering for h264 since it does not always work.
Original commit message from CVS:
* 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 17:16:12 +00:00
Wim Taymans
9e70ac2064 ext/ffmpeg/gstffmpegdec.c: Implement get/set for the new property too.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_set_property),
(gst_ffmpegdec_get_property):
Implement get/set for the new property too.
2008-01-22 16:44:51 +00:00
Wim Taymans
39ea5ac5f0 ext/ffmpeg/gstffmpegdec.c: Reenable pad_alloc, seem to work now.
Original commit message from CVS:
* 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 16:32:23 +00:00
Wim Taymans
221ff7e482 ext/ffmpeg/gstffmpegcfg.c: Add h263 to the list of codecs using the mpeg flags and options.
Original commit message from CVS:
* 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 13:54:34 +00:00
Sebastian Dröge
94b1421fa2 ext/ffmpeg/gstffmpegdemux.c: Don't register typefinders for which we have better replacements in base. Fixes bug #510...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register):
Don't register typefinders for which we have better replacements
in base. Fixes bug #510985.
2008-01-22 11:10:57 +00:00
Wim Taymans
5627c7d3e7 ext/ffmpeg/gstffmpegdec.c: Remove some more overly clever code that does nothing but mess up timestamps.
Original commit message from CVS:
* 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-21 11:19:03 +00:00
Wim Taymans
c7d5be2b69 ext/ffmpeg/gstffmpegdec.c: Flush delayed frames on DISCONT if we have them.
Original commit message from CVS:
* 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 17:48:21 +00:00
Wim Taymans
c0bed4bd8d ext/ffmpeg/gstffmpegdec.c: Flush on DISCONT because ffmpeg does not reliably tell us about keyframes.
Original commit message from CVS:
* 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 14:50:46 +00:00
Wim Taymans
1f8557e203 ext/ffmpeg/gstffmpegdec.c: Rewrite timestamping code to let ffmpeg track timestamps.
Original commit message from CVS:
* 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-18 12:18:08 +00:00
Wim Taymans
6033df76e9 ext/ffmpeg/gstffmpegdec.c: Add basic reverse playback for video.
Original commit message from CVS:
* 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-16 17:35:58 +00:00
Sebastian Dröge
c8c3da525b ext/ffmpeg/: Don't register the WavPack demuxer and decoder. They don't work, we have better ones and the output of t...
Original commit message from CVS:
* 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.
2008-01-04 22:14:50 +00:00
Edward Hervey
4b12fdb186 ext/ffmpeg/gstffmpegdemux.c: Fix demuxer to stop properly (emit an error message on the bus) if no pads are linked. U...
Original commit message from CVS:
* 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 10:05:28 +00:00
Sebastian Dröge
a0bae2f656 ext/ffmpeg/: Add GIF (animations and single images) decoding and encoding support.
Original commit message from CVS:
* 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 20:31:35 +00:00
Edward Hervey
f6186655c5 Merging GST_FFMPEG_NO_MIRROR branch to trunk
Original commit message from CVS:
Merging GST_FFMPEG_NO_MIRROR branch to trunk
2007-12-17 12:43:06 +00:00
Ole Andr Vadla Ravns
3627dbca5a ext/ffmpeg/:
Original commit message from CVS:
Patch by: Ole Andr Vadla Ravns <ole dot andre dot ravnas at tandberg dot com>
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid):
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_init):
2007-11-08 14:44:36 +00:00
Edward Hervey
f85c737410 ext/ffmpeg/: gst-indent cleanup.
Original commit message from CVS:
* 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-11-03 16:14:53 +00:00
Tuomas Kulve
8f95bd95cc ext/ffmpeg/gstffmpegdec.c: Fix the return type of the setcaps function. Fixes #485033.
Original commit message from CVS:
Patch by: Tuomas Kulve <tuomas dot kulve at movial dot fi>
* ext/ffmpeg/gstffmpegdec.c:
Fix the return type of the setcaps function. Fixes #485033.
2007-10-10 09:31:32 +00:00
Yann Gilquin
808f080279 ext/ffmpeg/gstffmpegdemux.c: Don't return FALSE for the LATENCY event but instead forward it upstream. Fixes #482946.
Original commit message from CVS:
Patch by: Yann Gilquin <yann dot gilquin at purplelabs dot com>
* 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-05 15:03:21 +00:00
Wim Taymans
503ab7bf82 ext/ffmpeg/gstffmpegcodecmap.c: Add Real Video 3.0 and remove some bogus caps.
Original commit message from CVS:
* 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-10-01 17:27:42 +00:00
Edward Hervey
f616f4aa7c ext/ffmpeg/gstffmpegdec.c: Don't set rank of sp5x video decoder to NONE.
Original commit message from CVS:
* 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-14 14:29:36 +00:00
Wim Taymans
144b42608b ext/ffmpeg/gstffmpegcodecmap.c: Improve debugging of codec data. realvideo caps are underspecified, use fields of alt...
Original commit message from CVS:
* 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-07 10:21:19 +00:00
Stefan Kost
907d7e40f5 ext/ffmpeg/: Free strings atleast when finalizing elements.
Original commit message from CVS:
* 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 17:43:39 +00:00
Stefan Kost
8e16a39836 Check for libm and link against it (ffmpeg is using sqrt).
Original commit message from CVS:
* configure.ac:
* ext/ffmpeg/Makefile.am:
Check for libm and link against it (ffmpeg is using sqrt).
2007-08-01 15:06:44 +00:00
Julien Moutte
4c6045a04f ext/ffmpeg/: Handle buffers with invalid duration correctly even in the case where we have a demuxer AND a decoder fr...
Original commit message from CVS:
2007-07-25  Julien MOUTTE  <julien@moutte.net>

* 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-25 15:39:43 +00:00
Stefan Kost
2897413b57 configure.ac: Use pkg-config to locate check. Bump core requirement.
Original commit message from CVS:
* 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-12 11:13:13 +00:00
Jan Schmidt
5f02c0eb85 ext/ffmpeg/gstffmpegenc.c: Fix the encoders by actually copying the encoded output data from the working area into th...
Original commit message from CVS:
* 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-07-05 11:19:21 +00:00
Jan Schmidt
b0aa56c796 ext/ffmpeg/gstffmpegenc.*: Instead of allocating 512KB buffers and then setting BUFFER_SIZE to what ffmpeg produced, ...
Original commit message from CVS:
* 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-22 12:13:18 +00:00
Stefan Kost
d0920a38d7 ext/ffmpeg/gstffmpegcodecmap.c: Enable mjpeg-codec in more containers.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c:
(gst_ffmpeg_formatid_get_codecids):
Enable mjpeg-codec in more containers.
2007-06-20 08:00:30 +00:00
Stefan Kost
603caa3479 ext/ffmpeg/gstffmpeg.c: Cut off double \n.
Original commit message from CVS:
* 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-19 14:14:29 +00:00
Wim Taymans
7f7a5d9d0b ext/ffmpeg/gstffmpegcodecmap.c: Add MSMPEG4V3 video and MP3 audio to the asf muxer supported formats.
Original commit message from CVS:
Patch by: <bram at luon dot net>
* 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 16:33:39 +00:00
Jan Arne Petersen
ddbf1ee10c ext/ffmpeg/gstffmpegdemux.c: Use total duration when the individual stream duration is not known.
Original commit message from CVS:
Patch by: Jan Arne Petersen <jpetersen at jpetersen dot org>
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_src_query):
Use total duration when the individual stream duration is not known.
Fixes #375534.
2007-06-05 13:58:30 +00:00
Laurent Glayal
991730660c ext/ffmpeg/gstffmpegscale.c: don't leak refcounts in event handler. Fixes #444332.
Original commit message from CVS:
Patch by: Laurent Glayal <spglegle at yahoo dot fr>
* ext/ffmpeg/gstffmpegscale.c: (gst_ffmpegscale_handle_src_event):
don't leak refcounts in event handler. Fixes #444332.
2007-06-05 13:41:54 +00:00
Wim Taymans
c413858fe6 ext/ffmpeg/gstffmpegdec.c: Be a bit smarter when clipping the frame without a duration, we don't want the frame to ex...
Original commit message from CVS:
* 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-25 10:41:56 +00:00
Jan Schmidt
a23a6a9d2a ext/ffmpeg/gstffmpegdemux.c: Reduce the probability of the MPEG-TS typefinder, because there's a better one in recent...
Original commit message from CVS:
* 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-21 11:04:11 +00:00
Edward Hervey
bdadc136b2 Fix the build on MacOSX. since the one shipped by Apple is from the middle ages and is packed with issues.
Original commit message from CVS:
* 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-17 15:46:17 +00:00
Edward Hervey
cc9a75adcb ext/ffmpeg/: Protect calls to ffmpeg functions that will implicitly call avcodec_open/close with the avcodec mutex.
Original commit message from CVS:
* 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-09 15:30:51 +00:00
Edward Hervey
0fcacdde8c ext/ffmpeg/gstffmpegdec.c: Fix timestamping for out-of-order incoming buffers. Instead of blindly copying the incomin...
Original commit message from CVS:
* 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-05-02 16:06:09 +00:00
Edward Hervey
4b2f21c351 ext/ffmpeg/gstffmpegcodecmap.c: Remove cruft inserted by wim's last commit.
Original commit message from CVS:
* 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-25 10:19:01 +00:00
Michael Smith
357aa01ac6 ext/ffmpeg/gstffmpegdemux.c: Allow ffmpeg typefinders to try and typefind very short (<4kB) files.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_type_find):
Allow ffmpeg typefinders to try and typefind very short (<4kB)
files.
2007-04-20 10:51:37 +00:00
Mark Nauwelaerts
ed36eb0fc5 ext/ffmpeg/: Add the CODEC_FLAG_GLOBAL_HEADER to the exposed flags, and makes it as such configurable as a property. ...
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet dot be> and
Thomas Vander Stichele  <thomas at apestaart dot org>
* 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 11:06:46 +00:00
Yves Lefebvre
eff0fefa3e ext/ffmpeg/gstffmpegdec.c: Draw edges for h264. Fixes #364139.
Original commit message from CVS:
Patch by: Yves Lefebvre <ivanohe at abacom dot com>
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps):
Draw edges for h264. Fixes #364139.
Set the error resilience flag just in case...
2007-04-12 10:56:42 +00:00
Johan Dahlin
c9aec911c2 ext/ffmpeg/gstffmpegcodecmap.c (gst_ffmpeg_get_codecid_longname): Fix typo in Indeo-2 codec name
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c (gst_ffmpeg_get_codecid_longname):
Fix typo in Indeo-2 codec name
2007-03-17 12:58:48 +00:00
Edward Hervey
efaa80f6f7 ext/ffmpeg/gstffmpegcfg.c: Add mpeg1video and mpeg2video to the list of mpeg-derivatives for configuration settings.
Original commit message from CVS:
* 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-02 12:05:39 +00:00
Tim-Philipp Müller
2a3785b2ef ext/ffmpeg/: Don't use GINT_TO_POINTER and GPOINTER_TO_INT with GTypes, this can break horribly if sizeof(GType) happ...
Original commit message from CVS:
* 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-16 11:48:15 +00:00
Edward Hervey
5c81998eb6 ext/ffmpeg/gstffmpegcfg.c: Typo fix.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcfg.c: (gst_ffmpeg_flags_get_type):
Typo fix.
2007-02-14 09:47:01 +00:00
Thomas Vander Stichele
4840c7182d ext/ffmpeg/gstffmpegdec.c: My console is not your TODO list.
Original commit message from CVS:
* 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 19:58:19 +00:00
Tim-Philipp Müller
b0d8e2f710 ext/ffmpeg/gstffmpegmux.c: ffmux_flv only accepts mpeg audio with a sample rate of 44100, 22050 or 11025. Fix up the ...
Original commit message from CVS:
* 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 17:30:19 +00:00
Tim-Philipp Müller
a23114785a ext/ffmpeg/gstffmpegmux.c: Only set the mux->opened flag after we've successfully written the header. This way we don...
Original commit message from CVS:
* 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-02-09 16:17:50 +00:00
Mark Nauwelaerts
5ad0d8bfee ext/ffmpeg/gstffmpegdemux.c: register yuv4mpegpipe demuxer with MARGINAL rank to make it also typically available for...
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw@skynet.be>
* 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-26 12:12:31 +00:00
Martin Szulecki
7dd3df72a1 ext/ffmpeg/gstffmpegcodecmap.c: Need to set depth on context for camtasia decoder (fixes #398875).
Original commit message from CVS:
Patch by: Martin Szulecki  <gnomebugzilla at sukimashita com>
* 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-22 10:26:04 +00:00
Mark Nauwelaerts
6ff00e8dcb ext/ffmpeg/gstffmpegcodecmap.c: Internally, ffmpeg (demuxer) expects YUV4MPEG version 2, this patch sets the caps cor...
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw@skynet.be>
* 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-11 10:02:40 +00:00
Mark Nauwelaerts
701144b366 ext/ffmpeg/gstffmpegdemux.c: Check the aggregated return value of pushes downstream to figure out if we really need t...
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw@skynet.be>
* 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.
2007-01-10 19:55:05 +00:00
Wim Taymans
304641fd78 ext/ffmpeg/: Use codecid as extra parameter when getting caps.
Original commit message from CVS:
* 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 14:59:34 +00:00
Wim Taymans
421a02db40 ext/ffmpeg/gstffmpegdec.c: Use caps to clip output images. Fixes #341736
Original commit message from CVS:
* 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-09 14:53:36 +00:00
Edward Hervey
672f4e6f54 ext/ffmpeg/gstffmpegenc.c: Make the name of the motion-estimation method enum values meaningful.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_me_method_get_type):
Make the name of the motion-estimation method enum values meaningful.
2007-01-08 16:39:00 +00:00
Thomas Vander Stichele
78c48caf30 configure.ac: actually properly define HAVE_FFMPEG_UNINSTALLED also use it as a conditional
Original commit message from CVS:
* 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-05 16:04:12 +00:00
Tim-Philipp Müller
1eeff88bae ext/ffmpeg/gstffmpegenc.c: Turn dispose function into finalize function to avoid double-frees and potential crashes c...
Original commit message from CVS:
* 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.
2007-01-03 17:00:08 +00:00
Tim-Philipp Müller
c0322416f6 ext/ffmpeg/gstffmpegcodecmap.c: The "signed" field in raw audio caps is of boolean type, trying to extract the value ...
Original commit message from CVS:
* 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-21 12:21:51 +00:00
Josselin Mouette
1f2cd3de4b Allow building against an external FFMpeg install. Fixes: #363363
Original commit message from CVS:
* 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 <joss at debian dot org>
When built against an external install, the plugin description will
say "system install" instead of "local snapshot"
2006-12-14 23:31:45 +00:00
Edward Hervey
d524eefabb ext/ffmpeg/gstffmpegcodecmap.c: Activate "amr" and "3gp" muxers.
Original commit message from CVS:
* 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 18:07:32 +00:00
Wim Taymans
c9e71601c5 ext/ffmpeg/gstffmpegcodecmap.c: Add H263p variants as possible format for mov.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c:
(gst_ffmpeg_formatid_get_codecids):
Add H263p variants as possible format for mov.
Fixes #378796.
2006-12-07 11:37:10 +00:00
Jan Schmidt
1359d61313 ext/ffmpeg/gstffmpegdec.c: When H264 is presented without codec_data, use a parser to frame it by assuming that no co...
Original commit message from CVS:
* 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-27 18:58:38 +00:00
Thomas Vander Stichele
38970e4d85 ext/ffmpeg/gstffmpegenc.c: My console is not your TODO list.
Original commit message from CVS:
* 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-17 15:29:42 +00:00
Ville Syrjala
5eae399a60 ext/ffmpeg/gstffmpegcodecmap.c: Specify H.263 variant and version in the caps (fixes #361636)
Original commit message from CVS:
Patch by: Ville Syrjala <ville.syrjala@movial.fi>
* 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-16 07:28:28 +00:00
Michael Smith
bb5e57a5f1 ext/ffmpeg/gstffmpegcodecmap.c: Add mmf to _get_codecids, so we can use the mmf muxer.
Original commit message from CVS:
* 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-11-14 12:34:20 +00:00
Edward Hervey
0e07d784d2 ext/ffmpeg/gstffmpegenc.c: MPEG4 standard does not accept framerates with a denominator greater than (1<<16 - 1) (acc...
Original commit message from CVS:
* 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-26 11:41:45 +00:00
Wim Taymans
87106ca6c7 ext/ffmpeg/gstffmpegcodecmap.c: Fix AMR caps. Fixes #364956.
Original commit message from CVS:
* 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-25 17:20:25 +00:00
Edward Hervey
f36390c258 ext/ffmpeg/gstffmpegmux.c: The ->frame_size for RAW audio is 1.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_collected):
The ->frame_size for RAW audio is 1.
Should fix behaviour of some muxers.
2006-10-24 16:40:45 +00:00
Edward Hervey
5ace343ac9 ext/ffmpeg/gstffmpegcfg.c: FLV is in fact h263 and can take the same parameters as other mpeg derivatives.
Original commit message from CVS:
* 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-24 09:27:16 +00:00
Edward Hervey
5e39aa8e8e ext/ffmpeg/gstffmpegcodecmap.c: Added some codec mappings for dv and mov muxers.
Original commit message from CVS:
* 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-13 13:13:08 +00:00
Edward Hervey
c3d6981559 ext/ffmpeg/gstffmpegcodecmap.c: Added proper mime types for mxf and gxf formats.
Original commit message from CVS:
* 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 13:31:55 +00:00
Edward Hervey
0932c8c334 ext/ffmpeg/gstffmpegdemux.c: Set the rank of all demuxers for which we: _ Have no alternate demuxer, _ And are know n...
Original commit message from CVS:
* 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 10:10:54 +00:00
Edward Hervey
c6ea7f47cf ext/ffmpeg/gstffmpegdemux.c: Disable the amr ffmpeg typefind function, it conflicts with gsttypefindfunctions' implem...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register):
Disable the amr ffmpeg typefind function, it conflicts with
gsttypefindfunctions' implementation.
2006-10-09 09:31:34 +00:00
Edward Hervey
bc4bea2f4b ext/ffmpeg/gstffmpegenc.c: Properly initialize ->lmin, ->lmax and ->max_key_interval so we don't end up passing compl...
Original commit message from CVS:
* 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-06 14:46:48 +00:00
Tim-Philipp Müller
d4ca196fc9 ext/ffmpeg/: Printf format fixes.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_get_stream):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_setcaps):
Printf format fixes.
2006-10-05 18:44:09 +00:00
Edward Hervey
dd1339334d ext/ffmpeg/gstffmpegprotocol.c: Implement seeking for WRITE "gst" protocol.
Original commit message from CVS:
* 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 15:54:12 +00:00
Edward Hervey
8e52c43291 ext/ffmpeg/gstffmpegmux.c: We need to stop the collectpads in PAUSED->READY BEFORE chaining up to the parent class ch...
Original commit message from CVS:
* 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-05 11:15:12 +00:00
Wim Taymans
180c69d27d ext/ffmpeg/gstffmpegdemux.c: Don't try to use or remove non-existing pads.
Original commit message from CVS:
* 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-10-04 13:42:35 +00:00
Edward Hervey
ab7a8db4a5 ext/ffmpeg/gstffmpegcodecmap.c: Clarify some CODEC_ID <=> mime type conversions for image formats.
Original commit message from CVS:
* 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-30 14:42:16 +00:00
Tim-Philipp Müller
43d197a833 ext/ffmpeg/: Don't leak caps in some cases and make build bots happy again.
Original commit message from CVS:
* 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-29 17:17:01 +00:00
Edward Hervey
8c08c7872b ext/ffmpeg/gstffmpegcodecmap.c: Added definitions for FLASHSV, Flash Screen Video format.
Original commit message from CVS:
* 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-23 12:00:15 +00:00
Edward Hervey
c11827c172 ext/ffmpeg/gstffmpegdec.c: wc1/wmv3 ffmpeg decoder now works. Bumping rank to GST_RANK_MARGINAL.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register):
wc1/wmv3 ffmpeg decoder now works. Bumping rank to GST_RANK_MARGINAL.
2006-09-21 09:32:52 +00:00
Edward Hervey
cc1482ca41 ext/ffmpeg/gstffmpegcodecmap.c: Adding codec mapping for vp5, vp6, vp6f and cavs.
Original commit message from CVS:
* 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 20:02:16 +00:00
Edward Hervey
1ead2073aa ext/ffmpeg/: Seems like the ffmpeg folks finally understood that VC9 does not exist, and that it's in fact VC1 (aka W...
Original commit message from CVS:
* 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-20 19:24:59 +00:00
Stefan Kost
11aa9388e7 ext/ffmpeg/: More G_OBJECT macro fixing.
Original commit message from CVS:
* 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-16 22:19:40 +00:00
Wim Taymans
16fec520b3 ext/ffmpeg/gstffmpegdec.c: Add some more timestamp debugging.
Original commit message from CVS:
* 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-13 11:39:49 +00:00
Edward Hervey
9e06696cca ext/ffmpeg/gstffmpegmux.c: Port tag-writing support in the muxers.
Original commit message from CVS:
* 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 16:52:19 +00:00
Michal Benes
5312e1f777 ext/ffmpeg/: Port of FFMpeg muxers to 0.10.
Original commit message from CVS:
Patch by: Michal Benes  <michal dot benes at xeris dot cz>
* 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-08 15:25:51 +00:00
Sebastien Moutte
df305f763b ext/ffmpeg/: Make stuff compile on Visual Studio 6.
Original commit message from CVS:
Patch by: Sebastien Moutte <sebastien at moutte dot net>
* 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 15:15:05 +00:00
Wim Taymans
8260664273 ext/ffmpeg/gstffmpegdec.c: Do early keyframe check again, feeding bad data in ffmpeg is not a good idea after all.
Original commit message from CVS:
* 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 14:53:59 +00:00
Mark Nauwelaerts
d3528950b9 ext/ffmpeg/: Added helper object to handle extra properties.
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet dot be>
* 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-06 14:51:13 +00:00
Wim Taymans
774aca3a94 ext/ffmpeg/gstffmpegdec.c: Disable early keyframe check, it causes crashes and is not really needed.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain):
Disable early keyframe check, it causes crashes and is not really
needed.
2006-09-05 18:09:33 +00:00
Wim Taymans
1ce4f6d645 ext/ffmpeg/gstffmpegdec.c: Even more timestamp fixage.
Original commit message from CVS:
* 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 17:46:50 +00:00
Wim Taymans
e83f94237b ext/ffmpeg/gstffmpegdec.c: More timestamp fixage.
Original commit message from CVS:
* 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 17:16:05 +00:00
Wim Taymans
f08033c5a7 ext/ffmpeg/gstffmpegdec.c: Fix timestamping some more by actually using the ffmpeg parsers correctly. Fixes #341736
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain):
Fix timestamping some more by actually using the ffmpeg parsers
correctly. Fixes #341736
2006-09-05 15:34:00 +00:00
Wim Taymans
bb45e68275 ext/ffmpeg/gstffmpegdec.c: Mark outgoing buffers with DISCONT when needed.
Original commit message from CVS:
* 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-29 09:28:20 +00:00
Wim Taymans
d3f7b8582b ext/ffmpeg/gstffmpegcodecmap.c: Pad extradata. Allocate dummy empty extradata because some codecs like to read it and...
Original commit message from CVS:
* 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-21 16:33:15 +00:00
Mark Nauwelaerts
fbe18ef096 ext/ffmpeg/gstffmpegenc.c: If we are not operating in RTP mode, leave the default rtp encoder settings as they are so...
Original commit message from CVS:
Patch by: Mark Nauwelaerts <manauw at skynet dot be>
* 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-16 09:18:28 +00:00
Wim Taymans
e7fcbe1177 ext/ffmpeg/gstffmpegdec.c: Make some enums const.
Original commit message from CVS:
* 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-07-19 16:35:13 +00:00
Edward Hervey
ec9d24a5ef ext/ffmpeg/gstffmpegdec.c: mpeg4 parsing still utterly broken :(
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_open):
mpeg4 parsing still utterly broken :(
2006-06-06 08:31:48 +00:00
Edward Hervey
721acac889 ext/ffmpeg/gstffmpegdec.c: Nothing to see, pass your way, I didn't screwup the previous commit.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain):
Nothing to see, pass your way, I didn't screwup the previous commit.
2006-06-02 12:38:37 +00:00
Edward Hervey
280d6dd420 ext/ffmpeg/gstffmpegdec.c: Split out audio and video frame decoding.
Original commit message from CVS:
* 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 12:29:38 +00:00
Michael Smith
4c30f87706 ext/ffmpeg/gstffmpegdemux.c: One of the ffmpeg 'plugins' changed its name with the latest update of the snapshot. Cha...
Original commit message from CVS:
* 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 11:50:45 +00:00
Edward Hervey
ec99371b43 ext/ffmpeg/gstffmpegcodecmap.c: Change all GST_WARNING to GST_LOG. None of these warning are really critical issues a...
Original commit message from CVS:
* 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-26 12:42:06 +00:00
Philippe Kalaf
6dc864a807 Add variant=h263p to ffenc_h263p caps
Original commit message from CVS:
Add variant=h263p to ffenc_h263p caps
2006-05-16 20:03:00 +00:00
Sam Morris
a3cf8e1888 ext/ffmpeg/: Add mappings for RealVideo 4.0, AMR-WB, AMR-NB and DTS to silence warnings when registering.
Original commit message from CVS:
* 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 01:18:46 +00:00
Tim-Philipp Müller
e4ae049ab6 ext/ffmpeg/gstffmpegdemux.c: Give ffmpeg demuxers a rank of NONE for the time being, so that they are not auto-plugge...
Original commit message from CVS:
* 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-05-02 13:53:57 +00:00
Edgard Lima
fab43dc01e just make it compile with --disable-gst-debug.
Original commit message from CVS:
just make it compile with --disable-gst-debug.
2006-04-24 18:51:15 +00:00
Andy Wingo
3010963c91 ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_register): Up the rank of the dv video decoder.
Original commit message from CVS:
2006-04-21  Andy Wingo  <wingo@pobox.com>

* ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_register): Up the rank
of the dv video decoder.
2006-04-21 15:48:17 +00:00
Edward Hervey
e57701a511 ext/ffmpeg/gstffmpegcodecmap.c: Added proper GstCaps <==> CodecId for Apple QDRaw.
Original commit message from CVS:
reviewed by: Edward Hervey  <edward@fluendo.com>
* 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-19 15:35:12 +00:00
Wim Taymans
33255a18c4 ext/ffmpeg/gstffmpegdemux.c: Don't try to convert -1 values when seeking.
Original commit message from CVS:
* 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-18 11:02:04 +00:00
Wim Taymans
55eac5b0c0 ext/ffmpeg/gstffmpegdemux.c: Rework the demuxer, implement all seeking stuff including seek in ready.
Original commit message from CVS:
* 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-13 16:22:53 +00:00
Wim Taymans
0041a8fede ext/ffmpeg/gstffmpegdec.c: Actually convert to time instead of pretending.. Also the bitrate of the context is mostly...
Original commit message from CVS:
* 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.
2006-04-11 17:53:21 +00:00
Wim Taymans
016275008f ext/ffmpeg/gstffmpegdec.c: When we see a keyframe don't wait for another one.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain):
When we see a keyframe don't wait for another one.
2006-04-10 20:29:14 +00:00
Stefan Kost
2d3a95c00d ext/ffmpeg/: Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
Original commit message from CVS:
* 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 21:55:22 +00:00
Wim Taymans
d11f8704a2 ext/ffmpeg/gstffmpegdec.c: Too bad we can't use gst_private.h..
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_do_qos):
Too bad we can't use gst_private.h..
2006-04-08 11:04:50 +00:00
Wim Taymans
9908102658 ext/ffmpeg/:
Original commit message from CVS:
reviewed by: <delete if not using a buddy>
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_avpicture_fill):
* 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):
2006-04-08 10:51:32 +00:00
Tim-Philipp Müller
1d97946379 ext/ffmpeg/gstffmpegdemux.c: Register id3 demuxer, avi demuxer and ogg demuxer with a rank of GST_RANK_NONE so that t...
Original commit message from CVS:
* 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-06 14:55:56 +00:00
Thomas Vander Stichele
d403852f04 ext/ffmpeg/: various compiler fixes
Original commit message from CVS:

* 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 22:26:12 +00:00
Wim Taymans
32e5851723 ext/ffmpeg/gstffmpegdec.c: make _open and _close as functions that should be called with the object lock instead of t...
Original commit message from CVS:
* 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-22 11:36:38 +00:00
Tim-Philipp Müller
fd380cb847 ext/ffmpeg/gstffmpegdec.c: Don't use gst_pad_alloc_buffer() for frames with palette, as we'll artificially shorten th...
Original commit message from CVS:
* 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-14 17:49:34 +00:00
Edward Hervey
1b5a9e3fca ext/ffmpeg/: Port of ffvideoscale to 0.10.
Original commit message from CVS:
Reviewed by : Edward Hervey  <edward@fluendo.com>
* 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 15:08:08 +00:00
Edward Hervey
a96a9ed0c5 ext/ffmpeg/gstffmpegenc.c: Fix segmentation fault and memleak.
Original commit message from CVS:
Reviewed by : Edward Hervey  <edward@fluendo.com>
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_audio):
Fix segmentation fault and memleak.
Fixes #332995 and #333001
2006-03-01 15:05:03 +00:00
Tim-Philipp Müller
2f6def3134 ext/ffmpeg/gstffmpegdec.c: ... can't adjust buffer size of NULL buffers though (as happens when seeking in video from...
Original commit message from CVS:
* 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 19:19:01 +00:00
Fabrizio
a3a4d8ef12 ext/ffmpeg/gstffmpegcodecmap.c: Use AVPALETTE_SIZE macro instead of magic value for clarity.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_get_palette),
(gst_ffmpeg_set_palette):
Use AVPALETTE_SIZE macro instead of magic value for clarity.
* 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, based on
patch by: Fabrizio Gennari).
2006-02-24 16:31:49 +00:00
Edward Hervey
d12d448009 ext/ffmpeg/gstffmpegcodecmap.c: Added proper formatid to caps conversion for ogg, gif, yuv4mpeg and quicktime formats.
Original commit message from CVS:
* 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 14:14:39 +00:00
Jan Schmidt
0a9c8cced5 ext/ffmpeg/gstffmpegcodecmap.c: Add extra detail to the Real format caps. With this info, filesrc ! ffdemux_rm ! ffde...
Original commit message from CVS:
* 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 22:40:16 +00:00
Jan Schmidt
1f260a84da ext/ffmpeg/: Add new codec ids and fix up some of the codec->mime type mappings
Original commit message from CVS:
* 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 16:54:51 +00:00
Jan Schmidt
19bc30d505 ext/ffmpeg/gstffmpegcodecmap.c: Add codec mapping for RealAudio G2 (Cook) codec.
Original commit message from CVS:
* 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 14:28:59 +00:00
Jan Schmidt
c76561639d HACKING: Mention ffmpeg snapshot update
Original commit message from CVS:
* 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-18 23:12:14 +00:00
Wim Taymans
f675ce7cfd ext/ffmpeg/gstffmpegdemux.c: Post nice error message when we cannot activate in pull mode.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_sink_activate):
Post nice error message when we cannot activate in pull mode.
2006-02-17 18:54:17 +00:00
Edward Hervey
4aa57ea7e5 ext/ffmpeg/gstffmpegdemux.c: If the duration returned by ffmpeg is 0, it doesn't mean the file has no duration, but t...
Original commit message from CVS:
* 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-14 17:13:11 +00:00
Edward Hervey
fa4b52bdca ext/ffmpeg/gstffmpegdec.c: More fixes for keyframe detection in ffmpeg decoders...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_release_buffer),
(gst_ffmpegdec_frame):
More fixes for keyframe detection in ffmpeg decoders...
2006-02-13 16:01:50 +00:00
Thomas Vander Stichele
c72d7e8b49 that'll teach me to copypaste
Original commit message from CVS:
that'll teach me to copypaste
2006-02-12 21:03:53 +00:00
Thomas Vander Stichele
231adecd88 ext/ffmpeg/: respect pixel-aspect-ratio when encoding.
Original commit message from CVS:

* 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 19:54:16 +00:00
Edward Hervey
76083c9e99 ext/ffmpeg/gstffmpegdemux.c: Add Tag support and keyframe seeking (for those formats where ffmpeg actually fills in t...
Original commit message from CVS:
* 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-12 16:47:50 +00:00
Thomas Vander Stichele
25a4d049dd ext/ffmpeg/gstffmpeg.c: set correct version on the plug-in - the GStreamer
Original commit message from CVS:

* 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 22:16:43 +00:00
Thomas Vander Stichele
929a05fa83 ext/ffmpeg/gstffmpegenc.c: debug and magic number fixes
Original commit message from CVS:

* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_class_init),
(gst_ffmpegenc_init), (gst_ffmpegenc_setcaps):
debug and magic number fixes
2006-02-11 12:04:31 +00:00
Edward Hervey
bcea38b0d8 ext/ffmpeg/: Welcome the demuxers to 0.10 :)
Original commit message from CVS:
* 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 19:42:19 +00:00
Edward Hervey
5081f02178 ext/ffmpeg/gstffmpegcodecmap.c: added CODEC_ID_FLV1 <==> 'video/x-flash-video,flvversion=1' conversion.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps):
added CODEC_ID_FLV1 <==> 'video/x-flash-video,flvversion=1' conversion.
2006-02-10 10:56:05 +00:00
Thomas Vander Stichele
823bc0ce7f ext/ffmpeg/: debug recurring events at LOG level do some timestamp setting heuristics on the pcache, with the net res...
Original commit message from CVS:

* 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-06 17:51:41 +00:00
Tim-Philipp Müller
a479380146 ext/ffmpeg/gstffmpegcodecmap.c: Buffers aren't boxed types any longer.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_get_palette):
Buffers aren't boxed types any longer.
2006-02-04 13:08:10 +00:00
Edgard Lima
c161d30d87 Just make it compile with --disable-gst-debug.
Original commit message from CVS:
Just make it compile with --disable-gst-debug.
2006-02-03 18:39:38 +00:00
Andy Wingo
e8911c0b5f ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_register): Reorder case statements to make control flow more clear.
Original commit message from CVS:
2006-02-02  Andy Wingo  <wingo@pobox.com>

* ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_register): Reorder case
statements to make control flow more clear.
2006-02-02 12:25:43 +00:00
Christian Schaller
fe739ceba7 set rank None for mp3 and mpeg2 element, fixes 162833
Original commit message from CVS:
set rank None for mp3 and mpeg2 element, fixes 162833
2006-02-02 10:41:52 +00:00
Tim-Philipp Müller
1df8496ffa ext/ffmpeg/gstffmpegcodecmap.c: Pad codec data buffer to a size that is a multiple of 16, which ffmpeg apparently nee...
Original commit message from CVS:
* 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-26 17:18:37 +00:00
Edward Hervey
e72a376411 ext/ffmpeg/gstffmpegcodecmap.c: Added CODEC_ID_SMC <==> video/x-smc caps
Original commit message from CVS:
* 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-23 15:13:29 +00:00
Edward Hervey
4ec81ff7fa ext/ffmpeg/: ffdeinterlace port to 0.10.
Original commit message from CVS:
reviewed by: Edward Hervey  <edward@fluendo.com>
* 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 14:17:16 +00:00
Edward Hervey
86c5ad28d2 ext/ffmpeg/gstffmpegenc.c: Caps weren't set on outgoing audio buffers.
Original commit message from CVS:
Reviewed by : Edward Hervey  <edward@fluendo.com>
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_audio):
Caps weren't set on outgoing audio buffers.
Closes #327861
2006-01-20 13:56:55 +00:00
Edward Hervey
3c1bbb0a60 ext/ffmpeg/gstffmpegdec.c: Memleak fix.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain):
Memleak fix.
Closes #326704
2006-01-17 09:24:40 +00:00
Edward Hervey
d5063dcd21 ext/ffmpeg/gstffmpegdec.c: Add exception for Indeo3 keyframe detection until upstream ffmpeg behaves properly.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame):
Add exception for Indeo3 keyframe detection until upstream ffmpeg
behaves properly.
2006-01-11 15:31:24 +00:00
Edward Hervey
b4e1a56104 ext/ffmpeg/gstffmpegcodecmap.c: Update ffmpeg_codec_id <=> mimetype conversions
Original commit message from CVS:
* 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-19 15:47:13 +00:00
Sebastien Cote
38dc71e266 ext/ffmpeg/: Do proper locking around avcodec_open() and avcodec_close()
Original commit message from CVS:
* 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, patch by: Sebastien Cote and Luca Ognibene).
2005-12-16 16:23:05 +00:00
Edward Hervey
3fe565fc1d ext/ffmpeg/gstffmpegdec.c: So, stupid ffmpeg.... Not all [en|de]coders set AVFrame->type.
Original commit message from CVS:
* 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-07 12:14:34 +00:00
Thomas Vander Stichele
9783a9207a expand tabs
Original commit message from CVS:
expand tabs
2005-12-06 19:57:08 +00:00
Andy Wingo
f5ce13df63 ext/ffmpeg/: Update for alloc_buffer changes.
Original commit message from CVS:
2005-12-05  Andy Wingo  <wingo@pobox.com>

* 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.
2005-12-05 13:04:39 +00:00
Julien Moutte
fbf165cc62 ext/ffmpeg/gstffmpegenc.c: Add rtp-payload-size property.
Original commit message from CVS:
2005-11-28  Julien MOUTTE  <julien@moutte.net>

* 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 17:12:13 +00:00
Tim-Philipp Müller
85a322a461 ext/ffmpeg/gstffmpegdec.c: Improve pixel aspect ratio handling when both the demuxer and the decoder provide a pixel ...
Original commit message from CVS:
* 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-28 11:25:56 +00:00
Jan Schmidt
b6a91dafbc ext/ffmpeg/gstffmpegdec.c: Updated API
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame):
Updated API
2005-11-23 14:53:06 +00:00
Jan Schmidt
1d43798752 ext/ffmpeg/gstffmpegcodecmap.c: Whoops - handle input video caps that don't have a framerate
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_pixfmt):
Whoops - handle input video caps that don't have a framerate
2005-11-22 23:33:41 +00:00
Jan Schmidt
602e47bf4a Remove mentions of ffmpegcolorspace now that it's in gst-plugins-base
Original commit message from CVS:
* 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 23:12:51 +00:00
Andy Wingo
93242ea4c3 ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_sink_event): Run update-funcnames.
Original commit message from CVS:
2005-11-22  Andy Wingo  <wingo@pobox.com>

* ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_sink_event): Run
update-funcnames.
2005-11-22 12:01:00 +00:00
Tim-Philipp Müller
888d95d8bd ext/ffmpeg/gstffmpegdec.c: Remove GST_STREAM_LOCK here, it is not needed any longer.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_sink_event):
Remove GST_STREAM_LOCK here, it is not needed any longer.
2005-11-21 18:26:23 +00:00
Luca Ognibene
8bf6ddc9d0 ext/ffmpeg/gstffmpegdec.c: My previous commit was not completly correct.. I've disabled our _get_buffer function unti...
Original commit message from CVS:
* 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 22:53:26 +00:00
Luca Ognibene
e6ada24827 ext/ffmpeg/gstffmpegdec.c: Fix some segfaults while seeking. When i have unreffed the buffer in _release_buffer i sho...
Original commit message from CVS:
* 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-16 21:48:06 +00:00
Tim-Philipp Müller
b094df3973 ext/ffmpeg/gstffmpegdec.c: Don't crash in debug message by dereferencing the NULL buffer gst_ffmpegdec_frame() gets p...
Original commit message from CVS:
* 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-14 16:00:38 +00:00
Edward Hervey
7460a44fab ext/ffmpeg/gstffmpegdec.c: Properly unref a buffer if we drop it.
Original commit message from CVS:
* 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-11 16:49:41 +00:00
Edward Hervey
b95b6837d1 ext/ffmpeg/gstffmpegdec.c: Properly unref a buffer if we drop it.
Original commit message from CVS:
* 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-11 14:43:01 +00:00
Tim-Philipp Müller
13a44d4f6a ext/ffmpeg/gstffmpegdec.c: Backported some fixes from 0.8. Most importantly, use demuxer's timestamping information i...
Original commit message from CVS:
* 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-26 17:41:58 +00:00
Julien Moutte
eb2e4a055a ext/ffmpeg/Makefile.am: Fix build.
Original commit message from CVS:
2005-10-23  Julien MOUTTE  <julien@moutte.net>

* 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-23 16:07:46 +00:00
Wim Taymans
8cb186a6d5 ext/ffmpeg/gstffmpegdec.c: newsegment API update.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_sink_event):
newsegment API update.
2005-10-11 16:38:08 +00:00
Thomas Vander Stichele
a2f57c7b3f ext/ffmpeg/gstffmpegcodecmap.c: we have better ways of debugging caps
Original commit message from CVS:

* 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-05 17:53:00 +00:00
Thomas Vander Stichele
4906947d18 replace do { } while (0); with { }
Original commit message from CVS:
replace do { } while (0); with { }
2005-09-30 09:29:22 +00:00
Wim Taymans
a5a31c9851 ext/ffmpeg/gstffmpegenc.c: Do not limit quantizer values so we can get realy low bitrates.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_setcaps):
Do not limit quantizer values so we can get realy low
bitrates.
2005-09-22 12:55:30 +00:00
Wim Taymans
00aa9d5fba ext/ffmpeg/gstffmpegcodecmap.h: Avoid division by 0 errors.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.h:
Avoid division by 0 errors.
2005-09-20 10:50:22 +00:00
Wim Taymans
f9a174c86e ext/ffmpeg/gstffmpegdec.c: Don't blindly assume there is a codec.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_setcaps),
(gst_ffmpegdec_frame):
Don't blindly assume there is a codec.
2005-09-19 13:45:38 +00:00
Wim Taymans
10dea5bfbb ext/ffmpeg/gstffmpegcodecmap.c: Better framerate setting.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_to_pixfmt):
Better framerate setting.
2005-09-19 12:01:27 +00:00
Thomas Vander Stichele
fa992c26d6 fix up newsegment
Original commit message from CVS:
fix up newsegment
2005-09-16 14:44:42 +00:00
Thomas Vander Stichele
2e02b4f6f5 ext/ffmpeg/: shut up the logging while it's probing for formats
Original commit message from CVS:

* 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-13 12:16:32 +00:00
Andy Wingo
a02a444d68 Update for state change type and macro changes.
Original commit message from CVS:
2005-09-05  Andy Wingo  <wingo@pobox.com>

* Update for state change type and macro changes.
2005-09-05 14:06:29 +00:00
Wim Taymans
0c53925656 ext/ffmpeg/gstffmpegenc.c: Fix return values from the setcaps function.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_setcaps),
(gst_ffmpegenc_chain_video), (gst_ffmpegenc_change_state):
Fix return values from the setcaps function.
2005-08-19 15:23:39 +00:00
Ronald S. Bultje
3a81f04d60 ext/ffmpeg/gstffmpegdec.c: Handle return values of gst_pad_push().
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame),
(gst_ffmpegdec_sink_event), (gst_ffmpegdec_chain):
Handle return values of gst_pad_push().
2005-08-16 09:50:03 +00:00
Ronald S. Bultje
e175b7ab78 ext/ffmpeg/gstffmpegcodecmap.c: Forwardport from 0.8 to implement QT-RLE.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps):
Forwardport from 0.8 to implement QT-RLE.
2005-08-15 13:46:16 +00:00
Ronald S. Bultje
415fc3df0e ext/ffmpeg/gstffmpegdec.c: Flush buffers in flush-stop, not flush-start, since the task is not stopped yet in flush-s...
Original commit message from CVS:
* 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-15 13:27:03 +00:00
Ronald S. Bultje
0587501517 ext/ffmpeg/gstffmpegcodecmap.c: Fix template to not allow fps=0.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c:
Fix template to not allow fps=0.
2005-08-09 17:08:23 +00:00
Ronald S. Bultje
6984879ed6 Backport BRANCH-THREADED to HEAD, fix a bit.
Original commit message from CVS:
* 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.
2005-08-05 15:29:56 +00:00
Ronald S. Bultje
e8a02014c6 ext/ffmpeg/gstffmpegcodecmap.h: Actually initialize value (#311802).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* ext/ffmpeg/gstffmpegcodecmap.h:
Actually initialize value (#311802).
2005-07-28 07:29:22 +00:00
Ronald S. Bultje
512472efad ext/ffmpeg/: Use special functions for timestamp-conversion again, since we otherwise don't handle clocktimenone corr...
Original commit message from CVS:
* 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-27 16:03:51 +00:00
Ronald S. Bultje
50cfdb7539 ext/ffmpeg/gstffmpegcodecmap.c: Add x264 to muxer (it was added to template, but I forgot to add h264 caps recognitio...
Original commit message from CVS:
* 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-23 22:10:29 +00:00
Ronald S. Bultje
e24d6984e4 ext/ffmpeg/gstffmpegcodecmap.c: Make type explicit.
Original commit message from CVS:
* 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-22 16:07:02 +00:00
Ronald S. Bultje
ada045509e ext/: Update to ffmpeg snapshot of Jul 20 2005 4:00 PM GMT. Mostly some added codecs, some API changes, etc. Also add...
Original commit message from CVS:
* 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-20 15:40:57 +00:00
Ronald S. Bultje
4fd68a7289 ext/ffmpeg/gstffmpegprotocol.c: Strip off private flags from context value (#310054).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_open):
Strip off private flags from context value (#310054).
2005-07-16 14:39:31 +00:00
Luca Ognibene
53f3d5be33 ext/ffmpeg/gstffmpegdec.c (struct _GstFFMpegDec)
Original commit message from CVS:
* 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 13:51:45 +00:00
Ronald S. Bultje
5f377234f5 ext/ffmpeg/: Add a stream-header flag to set stream-header caps on some streams, such as (in this case) flv (fixes #3...
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* 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-07-11 12:34:18 +00:00
Luca Ognibene
beb616773d ext/ffmpeg/gstffmpegdemux.c: timestamp is a GstClockTime, not a double..
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop):
timestamp is a GstClockTime, not a double..
fix #309149 and maybe others bug
2005-06-27 21:51:37 +00:00
Luca Ognibene
26d61e741b ext/ffmpeg/: more DELTA_UNIT / KEY_UNIT fixes
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_video):
more DELTA_UNIT / KEY_UNIT fixes
2005-06-27 21:02:40 +00:00
Luca Ognibene
78637215f1 ext/ffmpeg/gstffmpegcodecmap.c: add flv encoder, fix #309050
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_to_caps),
(gst_ffmpeg_formatid_get_codecids), (gst_ffmpeg_caps_to_codecid):
add flv encoder, fix #309050

* 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
fix #309049
2005-06-27 20:41:55 +00:00
Luca Ognibene
2cfc4961ef ext/ffmpeg/gstffmpegenc.c (gst_ffmpegenc_chain_video): set the GST_BUFFER_DELTA_UNIT while encoding fix #308804
Original commit message from CVS:
Reviewed by: Luca Ognibene <luogni@tin.it>

* ext/ffmpeg/gstffmpegenc.c (gst_ffmpegenc_chain_video):
set the GST_BUFFER_DELTA_UNIT while encoding
fix #308804
2005-06-25 15:33:29 +00:00
Ronald S. Bultje
d852f9daf5 Release 0.8.5 "For the better of the world".
Original commit message from CVS:
* 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-10 23:55:38 +00:00
Ronald S. Bultje
4869163a53 ext/ffmpeg/gstffmpegdec.c: Only do timestamp interpolation for delayed streams (containing
Original commit message from CVS:
* 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 09:53:04 +00:00
Ronald S. Bultje
b863f44a1a ext/ffmpeg/gstffmpegcodecmap.c: Remove weird flags from SVQ3 flags and just give full atom, like other files; fixes f...
Original commit message from CVS:
* 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-09 09:39:38 +00:00
Luca Ognibene
660cc7db6f ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_change_state): First close the ffmpeg context than try to free last_buffer. ...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c (gst_ffmpegdec_change_state):
First close the ffmpeg context than try to free last_buffer.
fix #306893
2005-06-08 18:29:39 +00:00
Ronald S. Bultje
9e7000b54a ext/ffmpeg/gstffmpegdec.c: Disable parsing on h264 for now, seems to break avc decoding.
Original commit message from CVS:
* 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 13:44:04 +00:00
Ronald S. Bultje
722d9491dd configure.ac: scale requires -libs (video.h).
Original commit message from CVS:
* configure.ac:
scale requires -libs (video.h).
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps):
Don't crash if open failed.
2005-06-03 11:34:13 +00:00
Luca Ognibene
97fd0430f1 ext/ffmpeg/gstffmpegdeinterlace.c (gst_ffmpegdeinterlace_chain): Always stamp your buffers ! (ooops)
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdeinterlace.c (gst_ffmpegdeinterlace_chain):
Always stamp your buffers ! (ooops)
2005-05-24 12:16:32 +00:00
Edward Hervey
154ff4d069 ext/ffmpeg/gstffmpegscale.c: Always stamp your buffers !
Original commit message from CVS:
* ext/ffmpeg/gstffmpegscale.c: (gst_ffmpegscale_chain):
Always stamp your buffers !
2005-05-24 09:06:00 +00:00
Luca Ognibene
84894a02a9 ext/ffmpeg/gstffmpegcodecmap.c (gst_ffmpeg_pixfmt_to_caps): Add YUV444P format as Y444
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c (gst_ffmpeg_pixfmt_to_caps):
Add YUV444P format as Y444
2005-05-17 18:29:17 +00:00
Luca Ognibene
a4cf1e11fc ext/ffmpeg/: Add ffdeinterlace element
Original commit message from CVS:
* 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-15 19:21:04 +00:00
Luca Ognibene
724361981f ext/ffmpeg/gstffmpegscale.c (gst_ffmpegscale_change_state): Don't segfault if using passthrough
Original commit message from CVS:
* ext/ffmpeg/gstffmpegscale.c (gst_ffmpegscale_change_state):
Don't segfault if using passthrough
2005-05-14 13:19:31 +00:00
Luca Ognibene
eea570791c ext/ffmpeg/: Add ffvideoscale element (#303727)
Original commit message from CVS:
* ext/ffmpeg/gstffmpeg.c (plugin_init):
* ext/ffmpeg/Makefile.am:
* ext/ffmpeg/gstffmpegscale.c:
Add ffvideoscale element (#303727)

* TODO:
update TODO
2005-05-13 15:46:42 +00:00
Luca Ognibene
1857bd51da ext/ffmpeg/gstffmpegcodecmap.c (gst_ffmpeg_pixfmt_to_caps): Add support for GRAY8 colorspace
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c (gst_ffmpeg_pixfmt_to_caps):
Add support for GRAY8 colorspace
2005-05-13 14:33:09 +00:00
Luca Ognibene
6e5fa03b6b ext/ffmpeg/: Makes ffmpegdec and ffmpegenc use these functions and remove a comment from a previuos patch
Original commit message from CVS:
* 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-11 15:18:23 +00:00
Ronald S. Bultje
d840f938cd ext/ffmpeg/gstffmpegdec.c: Re-re-enable get_/release_buffer functions, removes a few more percent of our CPU usage (#...
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* 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-06 07:47:50 +00:00
Ronald S. Bultje
1cf3d1b494 ext/ffmpeg/gstffmpegcodecmap.c: Add JPEG-formatted YUV enums.
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_pixfmt_to_caps):
Add JPEG-formatted YUV enums.
2005-05-02 09:12:59 +00:00
Ronald S. Bultje
710c39687f ext/ffmpeg/gstffmpegmux.c: Fix possible segfaults (#302017).
Original commit message from CVS:
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_class_init),
(gst_ffmpegmux_finalize), (gst_ffmpegmux_loop),
(gst_ffmpegmux_change_state):
Fix possible segfaults (#302017).
2005-05-01 10:15:33 +00:00
Ronald S. Bultje
b58fe00616 ext/ffmpeg/gstffmpegdec.c: Use CODEC_CAP_DELAY and remove max-10-delayed-frames hack.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_handle_event):
Use CODEC_CAP_DELAY and remove max-10-delayed-frames hack.
2005-04-25 18:16:20 +00:00
Ronald S. Bultje
3d55f87758 ext/ffmpeg/gstffmpegenc.c: Don't crash if avcodec_open failed (#301717).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_getcaps):
Don't crash if avcodec_open failed (#301717).
2005-04-23 16:07:34 +00:00
Ronald S. Bultje
fd7b68e150 ext/ffmpeg/gstffmpegdemux.c: Re-disable mov typefinding which breaks mov playback.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register):
Re-disable mov typefinding which breaks mov playback.
2005-04-21 19:51:05 +00:00
Ronald S. Bultje
23e0f2c1f6 ext/ffmpeg/gstffmpegcodecmap.c: Add ALAC, shorten and some more in new FFMPEG snapshot of 21/4, somewhere this aftern...
Original commit message from CVS:
* 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 19:01:36 +00:00
Ronald S. Bultje
f20095d007 ext/ffmpeg/gstffmpegcodecmap.c: Enable MPEG muxer.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c:
(gst_ffmpeg_formatid_get_codecids):
Enable MPEG muxer.
2005-04-21 14:19:21 +00:00
Ronald S. Bultje
fa496b82c7 ext/ffmpeg/gstffmpegdec.c: Next try at using pad_alloc_buffer (#300923).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame):
Next try at using pad_alloc_buffer (#300923).
2005-04-18 09:51:44 +00:00
Ronald S. Bultje
735b7d7bb9 ext/ffmpeg/gstffmpegdec.c: Revert previous, we cannot call pad_alloc_buffer() before being negotiated.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame):
Revert previous, we cannot call pad_alloc_buffer() before being
negotiated.
2005-04-16 15:05:58 +00:00
Ronald S. Bultje
9e4fe3eaaf ext/ffmpeg/gstffmpegdec.c: Use gst_pad_alloc_buffer().
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame):
Use gst_pad_alloc_buffer().
2005-04-16 14:56:08 +00:00
Ronald S. Bultje
15ffb2974a ext/ffmpeg/gstffmpegdec.c: Safety bet to not completely crush the system on EOS. Fixes the bad behaviour of #300200 (...
Original commit message from CVS:
* 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-14 10:50:15 +00:00
Ronald S. Bultje
395ebbdf4b ext/ffmpeg/gstffmpegdec.c: Fix breakage of testsuite by adding keyframe syncing; changed to sync only for some stream...
Original commit message from CVS:
* 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-02 10:01:20 +00:00
Ronald S. Bultje
e65e6b8042 ext/ffmpeg/gstffmpegdec.c: Implement keyframe syncing.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_init),
(gst_ffmpegdec_open), (gst_ffmpegdec_frame),
(gst_ffmpegdec_handle_event):
Implement keyframe syncing.
2005-04-01 10:09:15 +00:00
Ronald S. Bultje
c74a433d1d ext/ffmpeg/gstffmpeg.c: Enable muxers (only mp4 muxer for now).
Original commit message from CVS:
* 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-14 15:27:43 +00:00
Ronald S. Bultje
35bb7be72c ext/ffmpeg/gstffmpegenc.c: Fix crash on randomly sized input (#169082).
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_video):
Fix crash on randomly sized input (#169082).
2005-03-12 23:59:15 +00:00
Ronald S. Bultje
9a360a58b0 ext/ffmpeg/gstffmpegcodecmap.c: Add MPEG-4 audio for debugging.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps):
Add MPEG-4 audio for debugging.
2005-03-06 13:38:53 +00:00
Ronald S. Bultje
cdcc9bc7cf ext/ffmpeg/gstffmpegenc.c: Only free context if it was created (otherwise it crashes).
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_link):
Only free context if it was created (otherwise it crashes).
2005-02-05 18:35:18 +00:00
Jan Schmidt
363794a122 ext/ffmpeg/gstffmpegdec.c: Reduce the rank of the mpeg2 decoder back below mpeg2dec
Original commit message from CVS:
* 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-03 17:19:06 +00:00
Ronald S. Bultje
1b6e6aee2d ext/ffmpeg/gstffmpegcodecmap.c: Change caps of MJPEGB to not interfere with MJPEG/JPEG.
Original commit message from CVS:
* 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-03 11:12:34 +00:00
Ronald S. Bultje
385671eb80 ext/ffmpeg/gstffmpegdec.c: Don´t SIGFPE right away.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame):
Don´t SIGFPE right away.
2005-02-01 21:15:20 +00:00
Ronald S. Bultje
d40aa0a0df ext/ffmpeg/gstffmpegdec.c: Implement B-frame skipping and low-resolution decoding (useful for very slow CPUs).
Original commit message from CVS:
* 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-31 10:45:20 +00:00
Ronald S. Bultje
68331a35b5 ext/ffmpeg/: Oops, unbreak audio.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_register):
Oops, unbreak audio.
2005-01-28 12:22:54 +00:00
Ronald S. Bultje
37062fde79 ext/ffmpeg/gstffmpegcodecmap.c: Add AMR mimetypes (since those are recognized in ffmpeg).
Original commit message from CVS:
* 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-28 10:45:37 +00:00
Ronald S. Bultje
97df4afdb8 ext/ffmpeg/gstffmpeg.c: Fix compile with debug disabled (#165250).
Original commit message from CVS:
* ext/ffmpeg/gstffmpeg.c: (plugin_init):
Fix compile with debug disabled (#165250).
2005-01-27 10:21:07 +00:00
Ronald S. Bultje
ca9e8d1988 ext/ffmpeg/gstffmpegprotocol.c: Yet Another Logic Error.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegprotocol.c: (gst_ffmpegdata_peek):
Yet Another Logic Error.
2005-01-25 17:10:04 +00:00
Ronald S. Bultje
1a851d7ff6 ext/ffmpeg/gstffmpegdec.c: <insert rant about why gcc should support parsing errors>.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_negotiate):
<insert rant about why gcc should support parsing errors>.
2005-01-25 16:56:45 +00:00
Ronald S. Bultje
6437f38030 ext/ffmpeg/gstffmpegcodecmap.c: Add extradata to huffyuv, sync RGBA32 up with gst-plugins.
Original commit message from CVS:
* 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-25 15:17:44 +00:00
Ronald S. Bultje
f1cfdac85a TODO: Update since some tasks are done.
Original commit message from CVS:
* 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 17:25:29 +00:00
Ronald S. Bultje
1237d424eb ext/ffmpeg/gstffmpegdec.c: More debug, re-fix MPEG-2 (yes, I broke it already!).
Original commit message from CVS:
* 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 16:08:17 +00:00
Ronald S. Bultje
dc4812a19f ext/ffmpeg/gstffmpegdec.c: Another fix for MPEG-4 movies...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_handle_event),
(gst_ffmpegdec_chain):
Another fix for MPEG-4 movies...
2005-01-19 15:41:35 +00:00
Ronald S. Bultje
ef38fec2d0 ext/ffmpeg/gstffmpegdec.c: Add some more debug, fix for B-frame containing XviD movies.
Original commit message from CVS:
* 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 15:34:14 +00:00
Ronald S. Bultje
0ee46f8b0f ext/ffmpeg/gstffmpegdec.c: Only flush when the codec is opened.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_handle_event):
Only flush when the codec is opened.
2005-01-19 14:32:49 +00:00
Ronald S. Bultje
0403bd4305 ext/ffmpeg/: Re-add H263I as intel-h263 (which is not h263-compliant...).
Original commit message from CVS:
* 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 12:41:34 +00:00
Ronald S. Bultje
beb5886d46 ext/ffmpeg/gstffmpegdec.c: Don't unref NULL data...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_frame):
Don't unref NULL data...
2005-01-19 12:04:57 +00:00
Ronald S. Bultje
1fad96e695 ext/ffmpeg/gstffmpegdec.c: Add B-frame timestamp smoothing.
Original commit message from CVS:
* 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 11:46:49 +00:00
Ronald S. Bultje
f29f652236 ext/ffmpeg/gstffmpegdec.c: Separate buffer handling from actual decoding, handle pending frames (for B-frames and so ...
Original commit message from CVS:
* 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 23:19:46 +00:00
Ronald S. Bultje
1b1044122b ext/ffmpeg/: Add simple query functions. Seeking is only cosmetic, it's not actually filled in yet (in ffmpegdec).
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_init),
(gst_ffmpegdec_query), (gst_ffmpegdec_event), (gst_ffmpegdec_open),
(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-18 21:33:42 +00:00
Ronald S. Bultje
3643177798 ext/ffmpeg/gstffmpegenc.c: Remove EMU_EDGE, since that really fixes #162905. Revert previous hacks.
Original commit message from CVS:
* 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-17 13:35:06 +00:00
Ronald S. Bultje
b7411c3e84 ext/ffmpeg/gstffmpegenc.c: Unref after encode (#162905).
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_video):
Unref after encode (#162905).
2005-01-16 12:15:10 +00:00
Ronald S. Bultje
006e7999fd ext/ffmpeg/gstffmpegenc.c: Workaround memory issues (#162905).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_link),
(gst_ffmpegenc_chain_video):
Workaround memory issues (#162905).
2005-01-16 11:29:28 +00:00
Ronald S. Bultje
d2da5c3117 ext/ffmpeg/gstffmpegdemux.c: Decrease certainty a bit so we use flxdec for .flx videos.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_type_find):
Decrease certainty a bit so we use flxdec for .flx videos.
2005-01-10 13:23:21 +00:00
Ronald S. Bultje
3d22ebc2a7 ext/ffmpeg/gstffmpegenc.c: Call parent.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_dispose):
Call parent.
2005-01-09 21:47:26 +00:00
Ronald S. Bultje
f536e57b2f ext/ffmpeg/gstffmpegdec.c: Disable parsing for MJPEG input since that's already cut at frame-boundaries. Fixes #163340.
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain):
Disable parsing for MJPEG input since that's already cut at
frame-boundaries. Fixes #163340.
2005-01-09 01:30:05 +00:00
Ronald S. Bultje
4009d4d7bf ext/ffmpeg/gstffmpegcodecmap.c: Set property incompatible with DV demuxer so that it won't infinitely plug demuxers t...
Original commit message from CVS:
* 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.
2005-01-06 10:28:18 +00:00
Ronald S. Bultje
4cf2b8add0 ext/ffmpeg/gstffmpegdemux.c: Don't cripple rank as a hack to not register typefind functions.
Original commit message from CVS:
* 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-25 13:28:55 +00:00
Ronald S. Bultje
dd3c4c4acd ext/ffmpeg/gstffmpegdec.c: Remove rank from ffdec_h263i until I know how it's different from ffdec_h263. Fixes #155163.
Original commit message from CVS:
* 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-19 23:41:03 +00:00
Ronald S. Bultje
cbeebe3b43 ext/ffmpeg/gstffmpegprotocol.c: Add debug. Don't EOS unless all data was read.
Original commit message from CVS:
* 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 01:07:21 +00:00
Ronald S. Bultje
3be46cada1 ext/ffmpeg/gstffmpegprotocol.c: Some "seeking" hacks, and separate peek from read (read = peek + flush) so seek can u...
Original commit message from CVS:
* 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-19 00:32:13 +00:00
Ronald S. Bultje
dd6dbf9cee ext/ffmpeg/: Add header.
Original commit message from CVS:
* ext/ffmpeg/Makefile.am:
* ext/ffmpeg/gstffmpeg.h:
Add header.
2004-12-18 20:59:37 +00:00
Ronald S. Bultje
9093685a44 ext/ffmpeg/: Add debugging category everywhere (correctly this time). Don't parse mp3 data (the parser is a piece of ...
Original commit message from CVS:
* 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 20:53:55 +00:00
Ronald S. Bultje
f0aa8d49ed ext/ffmpeg/gstffmpegcodecmap.c: Add ID3 mime. Should partially fix #155274 (although raw mp3 sounds awful, it doesn't...
Original commit message from CVS:
* 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-18 20:27:05 +00:00
Ronald S. Bultje
47a2fa23a1 ext/ffmpeg/gstffmpegcodecmap.c: Fix typo.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c:
(gst_ffmpeg_get_codecid_longname):
Fix typo.
2004-12-17 16:39:22 +00:00
Ronald S. Bultje
7d7f3618a4 ext/ffmpeg/gstffmpegdec.c: Small parsing fix in comb. with ffdemux_mpeg.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain):
Small parsing fix in comb. with ffdemux_mpeg.
2004-12-17 13:56:18 +00:00
Ronald S. Bultje
52ed38c1a4 ext/ffmpeg/gstffmpegdec.c: Include optional parser if supported (currently only MPEG-1/-2 video). This fixes playback...
Original commit message from CVS:
* 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 13:08:13 +00:00
Ronald S. Bultje
67927465e6 ext/ffmpeg/gstffmpegenc.c: Move setup of sink caps (accepted formats) to a separate function rather than doing it on ...
Original commit message from CVS:
* 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-17 11:32:45 +00:00
Ronald S. Bultje
49b3ea828a ext/ffmpeg/gstffmpegcodecmap.c: Add new codecIDs from new snapshot (Thu Dec 16 11:27:18 2004).
Original commit message from CVS:
* 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 18:14:19 +00:00
Ronald S. Bultje
4ea32a6a05 ext/ffmpeg/gstffmpegdec.c: Move negotiation outside the _chain function, and use the codec PAR if available and prefe...
Original commit message from CVS:
* 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 12:47:43 +00:00
Ronald S. Bultje
bcb1f09609 ext/ffmpeg/gstffmpegcolorspace.c: Fix memleak (#154815).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_pad_link):
Fix memleak (#154815).
2004-12-16 12:29:03 +00:00
Ronald S. Bultje
8dc3756ec3 ext/ffmpeg/gstffmpegcolorspace.c: Some sync with ffmpegcolorspace (flatten AVFrame).
Original commit message from CVS:
* 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-12-16 11:17:00 +00:00
Wim Taymans
8b92efb152 ext/ffmpeg/: Fix strides and plane sizes when dealing with odd sized movies.
Original commit message from CVS:
* 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-11-05 18:03:04 +00:00
Ronald S. Bultje
46d853ba99 ext/ffmpeg/gstffmpegdec.c: Prevent division by zero (#155212).
Original commit message from CVS:
Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain):
Prevent division by zero (#155212).
2004-10-29 12:00:34 +00:00
Ronald S. Bultje
0e41db4c65 ext/ffmpeg/: Sync with gst-plugins ffmpegcolorspace, align-by-4. Ready to re-sync gst-plugins ffmpegcolorspace with o...
Original commit message from CVS:
* 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-29 09:47:41 +00:00
Ronald S. Bultje
7b83a2201e ext/ffmpeg/gstffmpegcolorspace.c: Backport changes from ffmpegcolorspace (gst-plugins) so we can then move the whole ...
Original commit message from CVS:
* 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 21:26:34 +00:00
Ronald S. Bultje
8aaf62d816 ext/ffmpeg/: Fix encoders. Fix if encoder supports >1 caps.
Original commit message from CVS:
* 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 11:56:52 +00:00
Ronald S. Bultje
918b5444c9 ext/ffmpeg/: Hmm, fancy names...
Original commit message from CVS:
* 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-24 22:24:43 +00:00
Ronald S. Bultje
54a86d367d ext/ffmpeg/gstffmpegenc.c: Set chain function before adding pad, fix memleak on error, error out on encode errors bec...
Original commit message from CVS:
* 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-11 08:21:16 +00:00
Ronald S. Bultje
a70c3d36fb ext/ffmpeg/gstffmpegdec.c: Unref when not usable.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain):
Unref when not usable.
2004-10-09 16:13:31 +00:00
Ronald S. Bultje
c8e54391c1 ext/ffmpeg/gstffmpegcodecmap.c: Negotiation fixes for real video codecs.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_with_codecid):
Negotiation fixes for real video codecs.
2004-10-04 16:11:30 +00:00
Ronald S. Bultje
c1daa360bb ext/ffmpeg/gstffmpegdemux.c: Fix timestamps. Quite some of the gaming formats work now. :).
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop):
Fix timestamps. Quite some of the gaming formats work now. :).
2004-10-02 21:17:26 +00:00
Ronald S. Bultje
3cf593d824 ext/ffmpeg/gstffmpegcodecmap.c: Generalized palette functions, add actual mimetypes for wing commander formats.
Original commit message from CVS:
* 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 20:26:10 +00:00
Ronald S. Bultje
530ec15806 ext/ffmpeg/gstffmpegdemux.c: Signal no_more_pads.
Original commit message from CVS:
* 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 18:30:49 +00:00
Ronald S. Bultje
79d1288887 ext/ffmpeg/: Move palette handling over from the decoder to the colorspace conversion plugin (where you would expect ...
Original commit message from CVS:
* 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-02 14:10:27 +00:00
Ronald S. Bultje
7c945b8254 ext/ffmpeg/gstffmpegcodecmap.c: Simplify codec_data handling.
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_caps_to_codecid):
Simplify codec_data handling.
2004-10-01 10:50:58 +00:00
Ronald S. Bultje
f4949f91d5 ext/ffmpeg/gstffmpegdec.c: Update timestamp for every new buffer that we output. Improves audio playback for several ...
Original commit message from CVS:
* 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-23 14:54:57 +00:00
Ronald S. Bultje
29c31ba645 ext/ffmpeg/gstffmpegdec.c: msmpeg4v3 should be priority as well, else it will choose divxdec first (which we don't wa...
Original commit message from CVS:
* 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-22 07:53:48 +00:00
Ronald S. Bultje
081a3b4844 ext/ffmpeg/gstffmpegcodecmap.c: WMV extradata (make #152798 work). J-frames are only available in the bitstream if th...
Original commit message from CVS:
* 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-20 12:29:03 +00:00
Iain Holmes
1015073dfe iFix a memory leak
Original commit message from CVS:
iFix a memory leak
2004-09-16 21:14:46 +00:00
Thomas Vander Stichele
e38fff6ecf don't needlessly do stuff
Original commit message from CVS:
don't needlessly do stuff
2004-07-21 09:20:55 +00:00
Thomas Vander Stichele
842f7aacbe put them back
Original commit message from CVS:
put them back
2004-07-08 14:01:28 +00:00
Thomas Vander Stichele
75d9e267c6 drop incoming buffers giving errors
Original commit message from CVS:
drop incoming buffers giving errors
2004-07-07 15:35:40 +00:00
Thomas Vander Stichele
71f892d3de hook up our debug system
Original commit message from CVS:
hook up our debug system
2004-07-07 15:12:02 +00:00
Thomas Vander Stichele
d867b293f7 bring in line with others
Original commit message from CVS:
bring in line with others
2004-07-03 23:34:04 +00:00
Ronald S. Bultje
3f9931de24 God, this is pathetic... Can someone reenable -Wall/-Werror?
Original commit message from CVS:
God, this is pathetic... Can someone reenable -Wall/-Werror?
2004-06-14 01:26:15 +00:00
Ronald S. Bultje
03cbef5cc1 ext/ffmpeg/: Do some more random property setting. Fix for if there's less than ffmpeg-default-buffersize (32kB) data...
Original commit message from CVS:
* 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-14 01:21:01 +00:00
Ronald S. Bultje
bc0e141ee7 ext/ffmpeg/gstffmpeg.c: Remove redundant calls which are called internally already.
Original commit message from CVS:
* 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-06-07 02:29:41 +00:00
Benjamin Otte
bf808bd484 ext/ffmpeg/gstffmpegcodecmap.c: don't operate on undefined variables (fixes #135145)
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_caps_with_codecid):
don't operate on undefined variables (fixes #135145)
2004-05-18 01:15:36 +00:00
Benjamin Otte
2f2827a890 ext/ffmpeg/gstffmpegdec.c: Hi, I'm a memleak
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_chain):
Hi, I'm a memleak
2004-05-16 21:02:48 +00:00
Ronald S. Bultje
028d9567da ext/ffmpeg/: Fix up demuxer. Works now for all my files that I tried, even quicktime. I basically hack around the sup...
Original commit message from CVS:
* 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-14 14:11:00 +00:00
Jeremy Simon
f9536f9af1 ext/ffmpeg/gstffmpegcodecmap.c: block_align and bitrate caps property were lost for wma use codec_data instead of fla...
Original commit message from CVS:
* 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 16:07:14 +00:00
Benjamin Otte
c0e70cc4bc ext/ffmpeg/gstffmpegcodecmap.c: it's audio/x-wav, not video/x-wav
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_to_caps):
it's audio/x-wav, not video/x-wav
2004-05-11 01:54:59 +00:00
Stéphane Loeuillet
10415ff400 use video/x-dv as mime type, not video/dv (now i can go to sleep)
Original commit message from CVS:
use video/x-dv as mime type, not video/dv
(now i can go to sleep)
2004-05-10 03:08:50 +00:00
Stéphane Loeuillet
de518b6888 ext/ffmpeg/gstffmpegdec.c ext/ffmpeg/gstffmpegenc.c change plugins category to meet our new naming standard :
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c
* ext/ffmpeg/gstffmpegenc.c
change plugins category to meet our new naming standard :
Codec/Encoder|Decoder/Audio|Video
suggested by bilboed, approved by Company
2004-05-09 22:15:29 +00:00
Thomas Vander Stichele
9bcee66929 ext/ffmpeg/gstffmpegcolorspace.c: revert previous patch
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_getcaps):
revert previous patch
2004-04-30 12:18:46 +00:00
Thomas Vander Stichele
acdea61ebc use GST_PAD_CAPS if they exist
Original commit message from CVS:
use GST_PAD_CAPS if they exist
2004-04-29 17:38:07 +00:00
Ronald S. Bultje
72333e34f6 ext/ffmpeg/gstffmpegcodecmap.c: WAV/IMA-ADPCM -> DVI ADPCM.
Original commit message from CVS:
* 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-23 00:49:10 +00:00
Benjamin Otte
16f5300aba ext/ffmpeg/gstffmpegcolorspace.c: use gst_caps_do_simplify
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcolorspace.c:
(gst_ffmpegcsp_caps_remove_format_info):
use gst_caps_do_simplify
2004-04-22 03:43:58 +00:00
Benjamin Otte
73c5b14aa7 ext/ffmpeg/gstffmpegdemux.c: reduce maximum probability in typefinding to POSSIBLE. prevents misidentification of my ...
Original commit message from CVS:
* 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-19 02:08:23 +00:00
Ronald S. Bultje
c5ebf6847f ext/ffmpeg/gstffmpegcolorspace.c: NULL -> (NULL) inside GST_ELEMENT_ERROR().
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcolorspace.c: (gst_ffmpegcsp_chain):
NULL -> (NULL) inside GST_ELEMENT_ERROR().
2004-04-16 02:06:23 +00:00
Ronald S. Bultje
d8f7d245f4 ext/ffmpeg/gstffmpegcodecmap.*: Change some function names to reflect that they don't really _return_ something, but ...
Original commit message from CVS:
* 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-16 01:28:36 +00:00
Ronald S. Bultje
009ca0c1f5 ext/ffmpeg/gstffmpegcodecmap.c: Add MS Video v1 (video/x-msvideocodec, CODEC_ID_MSVIDEO1).
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps):
Add MS Video v1 (video/x-msvideocodec, CODEC_ID_MSVIDEO1).
2004-04-11 21:40:01 +00:00
David Schleef
a4981be0fe ext/ffmpeg/gstffmpegcodecmap.c: Change variadic macro to ISO form. (bug #139460)
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps):
Change variadic macro to ISO form.  (bug #139460)
2004-04-09 06:20:31 +00:00
Benjamin Otte
50a9ae3608 ext/ffmpeg/: fix memleaks
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_register):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register):
fix memleaks
2004-04-06 18:25:55 +00:00
David Schleef
9d13ff6b53 ext/ffmpeg/gstffmpegdemux.c: Fix memleaks (bug #138985)
Original commit message from CVS:
reviewed by: David Schleef  <ds@schleef.org>
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register):  Fix
memleaks (bug #138985)
2004-04-03 22:35:30 +00:00
Thomas Vander Stichele
7383aa1baa indent
Original commit message from CVS:
indent
2004-03-29 16:39:18 +00:00
Ronald S. Bultje
d5cfdabbd8 ext/ffmpeg/: Fix category.
Original commit message from CVS:
* 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-25 05:14:10 +00:00
Benjamin Otte
c9305d90a3 configure.ac: only export gst* symbols
Original commit message from CVS:
* 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-24 21:36:50 +00:00
Thomas Vander Stichele
0fc9489042 don't critical (#137588)
Original commit message from CVS:
don't critical (#137588)
2004-03-18 12:55:38 +00:00
Thomas Vander Stichele
879d56abc1 change static name
Original commit message from CVS:
change static name
2004-03-15 15:42:44 +00:00
Ronald S. Bultje
91b5e3f532 ext/ffmpeg/: Add encode property to codec mapper, so we can get better-fitting caps. Also use this everywhere. ;). La...
Original commit message from CVS:
* 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-15 00:01:03 +00:00
Thomas Vander Stichele
5d57633278 this actually seems to work well
Original commit message from CVS:
this actually seems to work well
2004-03-11 18:18:36 +00:00
Ronald S. Bultje
1b37818530 ext/ffmpeg/Makefile.am: Prevent more symbol conflicts...
Original commit message from CVS:
* 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 07:56:40 +00:00
David Schleef
dde8754a27 ext/ffmpeg/gstffmpegcodecmap.c: Add cinepak format. (bug #136470)
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps):
Add cinepak format.  (bug #136470)
2004-03-07 22:02:15 +00:00
Ronald S. Bultje
8800cd993d ext/ffmpeg/gstffmpegcodecmap.c: Fix quicktime type recognition in ffmpeg. We returned a bogus caps, which caused ffde...
Original commit message from CVS:
* 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-05 02:40:34 +00:00
Ronald S. Bultje
c9b89b2fec configure.ac: Brackets cause autoconf errors. So remove them.
Original commit message from CVS:
* 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-04 13:21:53 +00:00
Ronald S. Bultje
1abaeb885c ext/ffmpeg/gstffmpegdec.c: Fix B-frame DivX5/XviD display by removing the truncated flag when not needed.
Original commit message from CVS:
* 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-03-02 02:30:04 +00:00
Ronald S. Bultje
7b63c14e2b HACKING: Add some basic documentation on how our wrapping works.
Original commit message from CVS:
* 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-03-01 04:59:17 +00:00
Benjamin Otte
0556f090e5 ext/ffmpeg/: fix memleaks
Original commit message from CVS:
2004-02-11  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* ext/ffmpeg/gstffmpegdec.c: (gst_ffmpegdec_base_init):
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_base_init):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_base_init):
* ext/ffmpeg/gstffmpegmux.c: (gst_ffmpegmux_base_init):
fix memleaks
2004-02-11 08:38:26 +00:00
David Schleef
aedc3d17b4 Make sure set_explicit_caps() is called before adding pad.
Original commit message from CVS:
Make sure set_explicit_caps() is called before adding pad.
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop):
* gst/id3/gstid3types.c: (gst_id3types_loop):
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_parse_syshead):
* gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream):
2004-02-04 21:40:49 +00:00