Commit graph

256 commits

Author SHA1 Message Date
Tim-Philipp Müller
596647664f mpeg2dec: remove all seeking-related code
A parser or demuxer upstream should handle this Same for
queries.
2011-12-30 18:23:13 +00:00
Tim-Philipp Müller
51794ce082 mpeg2dec: update for GstIndex removal 2011-12-30 17:49:01 +00:00
Wim Taymans
aed83a1954 mpeg2dec: update for new interlaced flags 2011-12-19 18:20:56 +01:00
Wim Taymans
4548e811ea Update for indexable change 2011-11-28 18:26:34 +01:00
Vincent Penquerc'h
213ce049ad various: fix pad template ref leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:10:01 +00:00
Wim Taymans
2679b9432a add parent to pad functions 2011-11-17 15:25:58 +01:00
Wim Taymans
ee240c1ac0 add parent to query function 2011-11-16 17:28:56 +01:00
Wim Taymans
6a7345c98d remove query types 2011-11-09 11:58:03 +01:00
Edward Hervey
444df1a2cc mpeg2dec: Add basic cropping support 2011-11-04 10:48:17 +01:00
Wim Taymans
fed7cbc8d2 update for meta api change 2011-11-02 09:09:26 +01:00
Wim Taymans
d255e3db39 Merge branch 'master' into 0.11 2011-09-30 17:45:31 +02:00
Wim Taymans
62d5386b06 mpeg2dec: minimal port to 0.11 2011-09-30 17:38:07 +02:00
Vincent Penquerc'h
2cb398d20d mpeg2dec: post QoS messages when dropping a frame due to QoS
https://bugzilla.gnome.org/show_bug.cgi?id=658241
2011-09-30 14:10:31 +01:00
Vincent Penquerc'h
a09bad4d98 mpeg2dec: fix spurious failure to decode some files
Parsing can return with an 'invalid' state, but this is not
actually fatal. For one, the mpeg2dec command line tool that
comes with the libmpeg2 library blithely ignores this condition
and merrily goes on. So we do this same, logging the error,
and going on with parsing. This makes something work that did
not use to work, and brings happiness to the world.

https://bugzilla.gnome.org/show_bug.cgi?id=429476
2011-08-23 10:04:48 +02:00
Tim-Philipp Müller
7bccbfdd48 mpeg2dec: don't deadlock when setting an index 2011-04-19 17:11:14 +01:00
Mark Nauwelaerts
9ccdcda5e6 mpeg2dec: do not fail fatally when unlinked
... as _NOT_LINKED was neither tested as fatal before nor complained about.
2011-02-21 13:16:05 +01:00
Stefan Kost
b3c04da6c3 index: remove conditional index support
Index support cannot be disabled since commit
4bfb1fe70c
in core, which removed the configure flags to disable index.
2011-02-21 11:05:31 +02:00
Stefan Kost
2b9048ede9 formatting: trim trailing whitespace 2011-02-17 18:06:51 +02:00
Stefan Kost
9424c553b9 index: use delta frame flags instead of 0 or none 2011-02-17 18:05:58 +02:00
Edward Hervey
72389b1941 mpeg2dec: Use the proper component value for height 2011-01-14 17:37:09 +01:00
Tim-Philipp Müller
9a2de96836 mpeg2dec: use gst_pad_alloc_buffer() when cropping buffers 2010-12-29 22:17:50 +00:00
Tim-Philipp Müller
a3eaf04778 mpeg2dec: minor formatting clean-up 2010-12-29 22:10:58 +00:00
Tim-Philipp Müller
40a470c785 mpeg2dec: refactor cropping code to use libgstvideo functions
https://bugzilla.gnome.org/show_bug.cgi?id=571146
2010-12-29 22:09:47 +00:00
Tim-Philipp Müller
fd68911826 mpeg2dec: use GstVideoFormat instead of custom enum 2010-12-29 20:19:34 +00:00
Tim-Philipp Müller
0f41e3bca0 mpeg2dec: fix LIBADD order in Makefile.am 2010-12-29 20:15:03 +00:00
Guillaume Emont
ff60a26cf8 mpeg2dec: convert the position to stream time before answering to a position query 2010-10-25 13:55:39 +01:00
Sebastian Dröge
0fa75d404b mpeg2dec: Use gst_pad_peer_query() instead of getting the peer pad manually 2010-10-19 16:31:23 +02:00
Guillaume Emont
7fb7129a83 mpeg2dec: fix position query by trusting upstream
Position queries are badly handled for DVDs (probably due to the division in
chapters): the time returned was the time since the start of chapter.

Now ask upstream for position queries, fall back to the old code if upstream
cannot answer the query.
2010-10-19 16:31:23 +02:00
Sebastian Dröge
31010493ea mpeg2dec: Don't use GST_FLOW_IS_FATAL()
And don't post error messages if allocating a buffer resulted
in WRONG_STATE or UNEXPECTED.
2010-09-04 14:57:51 +02:00
Edward Hervey
2c94b415d4 mpeg2dec: copy over all buffer flags when copying buffers.
Avoids losing the tff/rff video buffer flags
2010-04-14 09:30:55 +02:00
Benjamin Otte
9850bd814f gst_element_class_set_details => gst_element_class_set_details_simple 2010-03-18 15:53:14 +01:00
Josep Torra
d94bcc1b71 mpeg2dec: fix warning in macosx snow leopard 2009-10-11 16:18:37 +02:00
Sebastian Dröge
54e8a94782 mpeg2dec: Fix GstIndex handling, incl. refcounting and NULL indizes 2009-09-01 12:22:39 +02:00
Edward Hervey
83bf3a9f37 mpeg2dec: Revert ranking switch with ffdec_mpeg2video. Fixes #574461 2009-05-13 19:32:16 +02:00
Wim Taymans
fc1db23b84 mpeg2dec: work around old mpeg2dec versions
The repeat first field flag was introduced in 0.5.0 so conditionally disable its
detection and just assume no rff is used. This fixes the compilation.

Fixes #582375
2009-05-12 20:34:20 +02:00
Wim Taymans
707d2fceae mpeg2dec: link to gstvideo
Fix compilation by adding the right include directories and linking to the video
library.
2009-05-12 20:24:02 +02:00
Edward Hervey
8905e8c81e mpeg2dec: Implement interlaced support.
Expand the debugging statements to show more picture information.
2009-05-12 11:44:52 +02:00
Sebastian Dröge
40c87181c5 mpeg2dec: Lower rank to MARGINAL to make ffdec_mpeg2video the default
ffdec_mpeg2video is much faster, fixes bug #574461.
2009-05-12 11:19:00 +02:00
Edward Hervey
58b34b3553 mpeg2dec: use 64bit safe scaling functions.
Got this to fail when seeking in a 14GB file (the value in bytes is
bigger than 2**32).
2009-05-09 15:30:07 +02:00
Edward Hervey
3a523c2c79 mpeg2dec: Remove dead assignment. Value overwritten later on. 2009-04-19 14:03:19 +02:00
Edward Hervey
ac0e11e55c remove empty method implementations. 2009-04-19 13:55:24 +02:00
Sebastian Dröge
81599fc784 ext/mpeg2dec/gstmpeg2dec.c: Last change introduced a regression that made mpeg2dec handle some 4:2:2 videos as 4:4:4....
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_negotiate_format):
Last change introduced a regression that made mpeg2dec handle
some 4:2:2 videos as 4:4:4. Fixes bug #562086.
2008-12-01 14:39:34 +00:00
David Schleef
253cb1c7c7 ext/mpeg2dec/gstmpeg2dec.*: Add support for 4:4:4 video. Fixes #562086
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c:
* ext/mpeg2dec/gstmpeg2dec.h:
Add support for 4:4:4 video.  Fixes #562086
2008-11-25 03:44:06 +00:00
Simon Holm Thøgersen
821d16d9c7 ext/mpeg2dec/gstmpeg2dec.c: Add support for the STATE_SEQUENCE_MODIFIED state in mpeg2dec >= 0.5.0. Fixes bug #562065.
Original commit message from CVS:
Patch by: Simon Holm Thøgersen <odie at cs dot aau dot dk>
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_chain):
Add support for the STATE_SEQUENCE_MODIFIED state in mpeg2dec
>= 0.5.0. Fixes bug #562065.
2008-11-24 09:51:39 +00:00
Robin Stocker
ac40f11552 ext/mpeg2dec/gstmpeg2dec.*: Prefer the container's PAR over the stream's PAR if it's given in the srcpad caps. Fixes ...
Original commit message from CVS:
Patch by: Robin Stocker <robin at nibor dot org>
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_init),
(handle_sequence), (gst_mpeg2dec_setcaps):
* ext/mpeg2dec/gstmpeg2dec.h:
Prefer the container's PAR over the stream's PAR if it's
given in the srcpad caps. Fixes bug #556184.
2008-10-14 12:51:41 +00:00
Stefan Kost
793cdeb880 Don't install static libs for plugins. Fixes #550851 for ugly.
Original commit message from CVS:
* ext/a52dec/Makefile.am:
* ext/amrnb/Makefile.am:
* ext/cdio/Makefile.am:
* ext/dvdnav/Makefile.am:
* ext/dvdread/Makefile.am:
* ext/lame/Makefile.am:
* ext/mad/Makefile.am:
* ext/mpeg2dec/Makefile.am:
* ext/sidplay/Makefile.am:
* gst/ac3parse/Makefile.am:
* gst/asfdemux/Makefile.am:
* gst/dvdlpcmdec/Makefile.am:
* gst/dvdsub/Makefile.am:
* gst/iec958/Makefile.am:
* gst/mpegaudioparse/Makefile.am:
* gst/mpegstream/Makefile.am:
* gst/realmedia/Makefile.am:
* gst/synaesthesia/Makefile.am:
Don't install static libs for plugins. Fixes #550851 for ugly.
2008-10-13 18:10:25 +00:00
Sameer Naik
c9da8b4d0c ext/mpeg2dec/gstmpeg2dec.*: Fix compilation with --disable-index. Fixes bug #554150.
Original commit message from CVS:
Patch by: Sameer Naik <sameer dot subscriptions at damagehead dot com>
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_class_init),
(handle_slice), (gst_mpeg2dec_sink_event),
(gst_mpeg2dec_src_event):
* ext/mpeg2dec/gstmpeg2dec.h:
Fix compilation with --disable-index. Fixes bug #554150.
2008-09-28 17:33:43 +00:00
Sebastian Dröge
171116f99a ext/mpeg2dec/gstmpeg2dec.c: Don't allow width/height outside the spec (i.e. smaller than 16 and higher than 4096). Su...
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (handle_sequence):
Don't allow width/height outside the spec (i.e. smaller than 16
and higher than 4096). Such files are corrupted ones and setting
caps that are not a subset of the template caps confuses playbin.
Fixes bug #542646.
2008-07-13 10:13:06 +00:00
Zaheer Abbas Merali
d6ad646108 ext/mpeg2dec/gstmpeg2dec.c: Reset decoder when handling sequence where libmpeg2 has set frame period to 0, probably d...
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c:
Reset decoder when handling sequence where libmpeg2 has set
frame period to 0, probably due to a corrupt packet.
Fixes bug #514297
2008-02-04 14:27:32 +00:00
Wim Taymans
179887388e ext/mpeg2dec/gstmpeg2dec.c: Fix compilation error. Fixes #509313.
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (clear_queued), (flush_queued),
(handle_picture), (handle_slice):
Fix compilation error. Fixes #509313.
2008-01-14 11:41:32 +00:00
Wim Taymans
30d994fafa ext/mpeg2dec/gstmpeg2dec.*: Add buffer clipping.
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (clear_queued), (flush_queued),
(handle_picture), (clip_buffer), (handle_slice),
(gst_mpeg2dec_chain), (gst_mpeg2dec_sink_event),
(gst_mpeg2dec_change_state):
* ext/mpeg2dec/gstmpeg2dec.h:
Add buffer clipping.
Add basic reverse playback support. Not complete yet when dealing with
non-closed GOPs.
2008-01-10 15:24:08 +00:00
Wim Taymans
639224f97f ext/mpeg2dec/gstmpeg2dec.h: Use G_GINT64_CONSTANT, fixes compilation with MSVC 6.0.
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.h:
Use G_GINT64_CONSTANT, fixes compilation with MSVC 6.0.
Fixes #500808.
2007-12-03 19:05:20 +00:00
Tim-Philipp Müller
0e2c8a042f Fix build against core CVS by not using deprecated API. Bump requirements for new API (overdue anyway).
Original commit message from CVS:
* configure.ac:
* ext/mpeg2dec/gstmpeg2dec.c: (crop_buffer):
* gst/asfdemux/gstasfdemux.c: (gst_asf_demux_descramble_buffer):
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_chain_raw):
Fix build against core CVS by not using deprecated API. Bump
requirements for new API (overdue anyway).
2007-07-11 23:18:14 +00:00
Zaheer Abbas Merali
4fd7bf7a94 ext/mpeg2dec/gstmpeg2dec.c: Never post a (fatal) error message on the bus on decoding errors. We should only do this ...
Original commit message from CVS:
Patch by: Zaheer Abbas Merali  <zaheermerali at gmail com>
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_chain):
Never post a (fatal) error message on the bus on decoding errors. We
should only do this if we can't recover, but mpeg2dec can always
recover. This is needed for DVB streams, for example, where there
may be temporary glitches in the stream. Instead of an error
message, post a warning message on the bus for every N decoding
errors. Fixes #370020.
2007-03-02 13:01:48 +00:00
Tim-Philipp Müller
4eb4a1cdcc ext/mpeg2dec/gstmpeg2dec.c: Cosmetic changes: fix misleading debug statement, update comment, add cast.
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_alloc_sized_buf):
Cosmetic changes: fix misleading debug statement, update
comment, add cast.
2006-11-21 12:33:25 +00:00
Sebastian Dröge
1a8dbee3e7 ext/mpeg2dec/gstmpeg2dec.*: Align buffers to a 16 byte boundary so the altivec optimisations don't crash. Fixes #327350.
Original commit message from CVS:
Patch by: Sebastian Dröge  <slomo@circular-chaos.org>
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_init),
(gst_mpeg2dec_reset), (gst_mpeg2dec_alloc_sized_buf),
(gst_mpeg2dec_alloc_buffer), (init_dummybuf), (handle_slice):
* ext/mpeg2dec/gstmpeg2dec.h:
Align buffers to a 16 byte boundary so the altivec optimisations
don't crash. Fixes #327350.
2006-11-21 12:15:58 +00:00
Jan Arne Petersen
d88990ffc9 ext/mpeg2dec/gstmpeg2dec.c: Simplify the framerate code and support more framerates. Fixes #361584.
Original commit message from CVS:
Patch by: Jan Arne Petersen <jpetersen at jpetersen dot org>
* ext/mpeg2dec/gstmpeg2dec.c: (handle_sequence), (handle_slice):
Simplify the framerate code and support more framerates. Fixes #361584.
2006-11-15 13:57:21 +00:00
Sebastian Dröge
dc26edbddf ext/mpeg2dec/gstmpeg2dec.c: Fix minor memleak when creating pads from static pad templates (#369627).
Original commit message from CVS:
Patch by: Sebastian Dröge  <slomo@circular-chaos.org>
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_init):
Fix minor memleak when creating pads from static pad templates (#369627).
* tests/check/Makefile.am:
* tests/check/elements/.cvsignore:
* tests/check/elements/mpeg2dec.c: (setup_mpeg2dec),
(cleanup_mpeg2dec), (GST_START_TEST), (mpeg2dec_suite), (main):
Add unit tests for mpeg2dec (#369627).
2006-11-15 11:41:39 +00:00
Sebastian Droege
520f74867f ext/mpeg2dec/gstmpeg2dec.*: libmpeg2 requires its output buffers to start at a 16byte aligned address or the altivec ...
Original commit message from CVS:
Patch by: Sebastian Droege <slomo at ubuntu dot com>
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_finalize),
(gst_mpeg2dec_alloc_buffer), (init_dummybuf), (handle_slice):
* ext/mpeg2dec/gstmpeg2dec.h:
libmpeg2 requires its output buffers to start at a 16byte aligned
address or the altivec optimizations will explode.
2006-11-03 09:52:12 +00:00
Wim Taymans
af08dc2cae ext/mpeg2dec/gstmpeg2dec.*: Add some debugging to timestamp handling.
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (handle_slice):
* ext/mpeg2dec/gstmpeg2dec.h:
Add some debugging to timestamp handling.
Make sure we don't convert invalid timestamps.
2006-10-10 16:58:32 +00:00
Yves Lefebvre
e0a6d03502 ext/mpeg2dec/gstmpeg2dec.c: Fix initialisation dummy buffer, the offsets are relative to the start of the buffers. Fi...
Original commit message from CVS:
Patch by: Yves Lefebvre <ivanohe at abacom dot com>
* ext/mpeg2dec/gstmpeg2dec.c: (init_dummybuf):
Fix initialisation dummy buffer, the offsets are relative to the start
of the buffers. Fixes #356004.
2006-09-15 16:14:15 +00:00
Jan Schmidt
a69947cddb Add missing GST_LIBS to the link flags
Original commit message from CVS:
* ext/lame/Makefile.am:
* ext/mpeg2dec/Makefile.am:
* gst/dvdlpcmdec/Makefile.am:
* gst/dvdsub/Makefile.am:
* gst/mpegaudioparse/Makefile.am:
Add missing GST_LIBS to the link flags
2006-08-31 13:04:31 +00:00
Wim Taymans
73e2b0c311 ext/mpeg2dec/gstmpeg2dec.c: Fix refcounting when cropping. Fixes #341677.
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (crop_buffer), (handle_slice):
Fix refcounting when cropping. Fixes #341677.
2006-07-10 11:52:58 +00:00
Tim-Philipp Müller
86b9de35d3 ext/mpeg2dec/gstmpeg2dec.c: Assume 4:3 DAR rather than 4:3 PAR (#345184).
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_negotiate_format):
Assume 4:3 DAR rather than 4:3 PAR (#345184).
2006-06-19 15:16:43 +00:00
Tim-Philipp Müller
17514d1696 ext/mpeg2dec/gstmpeg2dec.c: Assume pixel-aspect-ratio of 4:3 if libmpeg2dec doesn't give us any PAR whatsoever (rathe...
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_negotiate_format):
Assume pixel-aspect-ratio of 4:3 if libmpeg2dec doesn't give us
any PAR whatsoever (rather than using 0/0, which will lead to
an abort later on). Fixes #345184.
2006-06-19 11:59:14 +00:00
Thomas Vander Stichele
0d7bca79b6 update build files
Original commit message from CVS:
* autogen.sh:
* configure.ac:
* ext/a52dec/Makefile.am:
* ext/dvdnav/Makefile.am:
* ext/dvdread/Makefile.am:
* ext/lame/Makefile.am:
* ext/mad/Makefile.am:
* ext/mpeg2dec/Makefile.am:
* ext/sidplay/Makefile.am:
update build files
2006-06-11 17:08:11 +00:00
Wim Taymans
a489cb42e7 ext/mpeg2dec/gstmpeg2dec.*: Simplify and don't leak our buffer pool.
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_finalize),
(gst_mpeg2dec_reset), (clear_buffers), (handle_picture),
(gst_mpeg2dec_sink_convert), (gst_mpeg2dec_src_convert),
(gst_mpeg2dec_change_state):
* ext/mpeg2dec/gstmpeg2dec.h:
Simplify and don't leak our buffer pool.
Use _scale_int.
Remove unfixed bug number from previous ChangeLog entry.
2006-06-07 17:05:48 +00:00
Wim Taymans
78d4166a4f ext/mpeg2dec/gstmpeg2dec.*: Fix padtemplate as we can now do fractional framerates.
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_base_init),
(gst_mpeg2dec_class_init), (gst_mpeg2dec_init),
(gst_mpeg2dec_finalize), (gst_mpeg2dec_reset),
(gst_mpeg2dec_qos_reset), (gst_mpeg2dec_alloc_buffer),
(gst_mpeg2dec_negotiate_format), (init_dummybuf),
(handle_sequence), (handle_picture), (handle_slice),
(gst_mpeg2dec_chain), (gst_mpeg2dec_sink_event),
(gst_mpeg2dec_src_event), (gst_mpeg2dec_change_state):
* ext/mpeg2dec/gstmpeg2dec.h:
Fix padtemplate as we can now do fractional framerates.
Small cleanups.
Use GstSegment.
Add simple frame dropping QoS.
Precalc buffer output sizes and UV offsets.
Always give libmpeg2 a valid fbuf when it wants one.
don't trust libmpeg to discard our buffers but manage it
ourselves.
Fixes #343627, #327350, #335288
2006-06-07 16:15:42 +00:00
Stefan Kost
fadba7919f Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
Original commit message from CVS:
* ext/a52dec/gsta52dec.h:
* ext/amrnb/amrnbdec.h:
* ext/amrnb/amrnbenc.h:
* ext/amrnb/amrnbparse.h:
* ext/mpeg2dec/gstmpeg2dec.h:
* ext/sidplay/gstsiddec.h:
* gst/ac3parse/gstac3parse.h:
* gst/asfdemux/gstasfdemux.h:
* gst/asfdemux/gstasfmux.h:
* gst/dvdlpcmdec/gstdvdlpcmdec.h:
* gst/iec958/ac3iec.h:
* gst/mpegaudioparse/gstmpegaudioparse.h:
* gst/mpegstream/gstdvddemux.h:
* gst/mpegstream/gstmpegclock.h:
* gst/mpegstream/gstmpegdemux.h:
* gst/mpegstream/gstmpegparse.h:
Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
2006-06-01 21:11:41 +00:00
Edward Hervey
14af59f636 ext/mpeg2dec/gstmpeg2dec.c: Remember the query duration format before passing it upstream since it could have been mo...
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_sink_convert),
(gst_mpeg2dec_src_query):
Remember the query duration format before passing it upstream since it
could have been modified.
Add GST_WARNING_OBJECT in sink convert function to detail why the
conversion didn't work.
2006-05-02 10:28:48 +00:00
Tim-Philipp Müller
8a3cf8eb23 ext/mpeg2dec/gstmpeg2dec.c: Can't use gst_pad_alloc_buffer*() when we are going to crop the image before sending it o...
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_alloc_sized_buf),
(gst_mpeg2dec_alloc_buffer):
Can't use gst_pad_alloc_buffer*() when we are going to crop
the image before sending it out. Downstream basetransform-based
elements will complain about the wrong unit size otherwise
(when not operating in passthrough-mode at least).
Const-ify some static variables and do some minor clean-ups.
Use I420 macros for size/offsets (not really necessary in this
particular context, but this kind of code gets copy'n'pasted).
2006-04-13 19:08:20 +00:00
Stefan Kost
d398763d01 Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
Original commit message from CVS:
* ext/amrnb/amrnbdec.c: (gst_amrnbdec_class_init):
* ext/amrnb/amrnbenc.c: (gst_amrnbenc_class_init):
* ext/amrnb/amrnbparse.c: (gst_amrnbparse_class_init):
* ext/mad/gstmad.c: (gst_mad_class_init):
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_class_init):
* gst/ac3parse/gstac3parse.c: (gst_ac3parse_class_init):
* gst/asfdemux/gstasfmux.c: (gst_asfmux_class_init):
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_class_init):
* gst/iec958/ac3iec.c: (ac3iec_class_init):
* gst/mpegaudioparse/gstmpegaudioparse.c:
(gst_mp3parse_class_init):
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_class_init):
* gst/mpegstream/gstmpegclock.c: (gst_mpeg_clock_class_init):
* gst/mpegstream/gstrfc2250enc.c: (gst_rfc2250_enc_class_init):
* gst/realmedia/rmdemux.c: (gst_rmdemux_class_init):
* gst/synaesthesia/gstsynaesthesia.c:
(gst_synaesthesia_class_init):
Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
2006-04-08 21:42:19 +00:00
Thomas Vander Stichele
23f496bebc configure.ac: rework similarly to other modules
Original commit message from CVS:

* configure.ac:
rework similarly to other modules
* ext/a52dec/gsta52dec.c:
* ext/amrnb/amrnb.c:
* ext/dvdnav/dvdnavsrc.c:
* ext/dvdread/dvdreadsrc.c:
* ext/lame/gstlame.c:
* ext/mad/gstid3tag.c:
* ext/mpeg2dec/gstmpeg2dec.c:
* ext/sidplay/gstsiddec.cc:
* gst/asfdemux/gstasf.c:
* gst/dvdlpcmdec/gstdvdlpcmdec.c:
* gst/dvdsub/gstdvdsubdec.c:
* gst/iec958/ac3iec.c:
* gst/mpegaudioparse/gstmpegaudioparse.c:
* gst/mpegstream/gstmpegstream.c:
* gst/realmedia/rmdemux.c: (plugin_init):
use the correct defines
2006-04-01 09:54:39 +00:00
Tim-Philipp Müller
6438094695 ext/mpeg2dec/gstmpeg2dec.*: Don't treat STATE_INVALID as fatal error; throw an error only after five consecutive deco...
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_init),
(gst_mpeg2dec_reset), (gst_mpeg2dec_chain):
* ext/mpeg2dec/gstmpeg2dec.h:
Don't treat STATE_INVALID as fatal error; throw an error
only after five consecutive decoding errors. Makes decoding
mpeg streams more robust and fixes playback of joined clips
(#300682).
2006-02-27 14:49:05 +00:00
Tim-Philipp Müller
c6ca130b97 ext/mpeg2dec/gstmpeg2dec.c: When we need to crop the output buffer, make sure we create a buffer of the right size an...
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (crop_copy_i420_buffer),
(crop_copy_i422_buffer), (crop_buffer):
When we need to crop the output buffer, make sure we
create a buffer of the right size and respect the implicit
striding used for I420 elsewhere in GStreamer (#331301).
2006-02-17 11:51:12 +00:00
Wim Taymans
2c813b4b21 ext/amrnb/amrnbdec.c: Some more comments.
Original commit message from CVS:
* ext/amrnb/amrnbdec.c: (gst_amrnbdec_setcaps),
(gst_amrnbdec_chain), (gst_amrnbdec_state_change):
Some more comments.

* ext/mpeg2dec/gstmpeg2dec.c: (crop_buffer), (handle_slice):
Applied patch from Fabrizio Gennari, fixes #330844.
2006-02-15 10:18:39 +00:00
Tim-Philipp Müller
9828b301eb Pass unhandled queries upstream (useful e.g. for SEEKING query)
Original commit message from CVS:
* ext/amrnb/amrnbparse.c: (gst_amrnbparse_query):
* ext/mad/gstid3tag.c: (gst_id3_tag_src_query):
* ext/mad/gstmad.c: (gst_mad_src_query):
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_src_query):
* ext/sidplay/gstsiddec.cc:
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_handle_src_query):
* gst/realmedia/rmdemux.c: (gst_rmdemux_src_query):
Pass unhandled queries upstream (useful e.g. for SEEKING query)
(fixes #325652; based on patch by: Philippe); make rmdemux return
FALSE for position queries, instead of setting -1 as value and
returning TRUE.
2006-01-10 11:43:37 +00:00
Tim-Philipp Müller
9c580660a8 ext/mpeg2dec/gstmpeg2dec.c: When getting a seek event, first check if the upstream element can handle it and only do ...
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_src_event):
When getting a seek event, first check if the upstream element
can handle it and only do our own seek stuff when it can't
(should fix #322856).
2005-12-21 10:25:34 +00:00
Tim-Philipp Müller
eb7ad77b4b ext/mpeg2dec/gstmpeg2dec.c: Really convert to BYTES format when we want to convert to bytes (use right variable; fixe...
Original commit message from CVS:
Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
* ext/mpeg2dec/gstmpeg2dec.c: (normal_seek):
Really convert to BYTES format when we want to convert
to bytes (use right variable; fixes #322856).
2005-12-21 09:58:43 +00:00
Thomas Vander Stichele
ffe763c043 expand tabs
Original commit message from CVS:
expand tabs
2005-12-06 19:48:07 +00:00
Andy Wingo
be0fdf972b Update for alloc_buffer changes.
Original commit message from CVS:
2005-12-05  Andy Wingo  <wingo@pobox.com>

* ext/a52dec/gsta52dec.c: (gst_a52dec_push):
* ext/mad/gstmad.c: (gst_mad_chain):
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_alloc_buffer):
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_chain_raw):
* gst/iec958/ac3iec.c: (ac3iec_chain_raw):
* gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream),
(gst_rmdemux_parse_packet): Update for alloc_buffer changes.
2005-12-05 13:03:40 +00:00
Jan Schmidt
57cd4f20f1 ext/mpeg2dec/gstmpeg2dec.c: Prime libmpeg2's pumps with some null custom buffers to ensure it ask us to discard garba...
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (handle_sequence):
Prime libmpeg2's pumps with some null custom buffers
to ensure it ask us to discard garbage later yay.
2005-11-25 17:01:46 +00:00
Jan Schmidt
23b68823d6 ext/mpeg2dec/gstmpeg2dec.*: Use fractional framerates
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (src_templ),
(gst_mpeg2dec_negotiate_format), (handle_sequence),
(gst_mpeg2dec_sink_event):
* ext/mpeg2dec/gstmpeg2dec.h:
Use fractional framerates
2005-11-23 00:12:24 +00:00
Andy Wingo
aa5c8d66bd ext/: Don't take the stream lock.
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* ext/sidplay/gstsiddec.cc (gst_siddec_sink_event):
* ext/mpeg2dec/gstmpeg2dec.c (gst_mpeg2dec_sink_event):
* ext/mad/gstmad.c (gst_mad_sink_event):
* ext/a52dec/gsta52dec.c (gst_a52dec_sink_event): Don't take the
stream lock.

* gst/realmedia/rmdemux.c (gst_rmdemux_perform_seek): Update for
stream lock changes.
2005-11-21 17:34:30 +00:00
Andy Wingo
d779ee9077 *.*: Ran scripts/update-macros. Oh yes.
Original commit message from CVS:
2005-11-21  Andy Wingo  <wingo@pobox.com>

* *.h:
* *.c: Ran scripts/update-macros. Oh yes.
2005-11-21 16:36:44 +00:00
Tim-Philipp Müller
cbc750649e ext/mpeg2dec/gstmpeg2dec.c: Set DELTA_UNIT flag on outgoing buffers if this is NOT a keyframe; nice-ify debug message...
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (handle_slice),
(gst_mpeg2dec_sink_event):
Set DELTA_UNIT flag on outgoing buffers if this is NOT a keyframe;
nice-ify debug message in event handler; add CHECKME.
* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_process_event),
(gst_dvd_demux_send_event), (gst_dvd_demux_process_private),
(gst_dvd_demux_send_subbuffer), (gst_dvd_demux_reset),
(gst_dvd_demux_sync_stream_to_time):
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_class_init),
(gst_mpeg_demux_process_event), (gst_mpeg_demux_send_event),
(gst_mpeg_demux_handle_discont), (gst_mpeg_demux_new_output_pad),
(gst_mpeg_demux_parse_packet), (gst_mpeg_demux_parse_pes),
(gst_mpeg_demux_send_subbuffer), (gst_mpeg_demux_process_private),
(gst_mpeg_demux_sync_stream_to_time),
(gst_mpeg_demux_handle_src_event), (gst_mpeg_demux_reset):
* gst/mpegstream/gstmpegdemux.h:
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_init),
(gst_mpeg_parse_handle_discont), (gst_mpeg_parse_send_buffer),
(gst_mpeg_parse_process_event), (gst_mpeg_parse_send_discont),
(gst_mpeg_parse_send_event), (gst_mpeg_parse_event),
(gst_mpeg_parse_chain):
* gst/mpegstream/gstmpegparse.h:
Get rid of GST_PAD_IS_USABLE and fix GstFlowReturn vs. gboolean
return value confusion (gst_pad_push vs. gst_pad_send_event and
gst_pad_push_event); pass flow return values to caller;
miscellaneous fixes and clean-ups.
2005-11-15 14:19:38 +00:00
Wim Taymans
badeda5a53 ext/mpeg2dec/gstmpeg2dec.c: Forward GstFlowReturn about everywhere.
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_reset),
(gst_mpeg2dec_alloc_buffer), (gst_mpeg2dec_negotiate_format),
(handle_sequence), (handle_picture), (handle_slice),
(gst_mpeg2dec_chain), (gst_mpeg2dec_src_query), (normal_seek),
(gst_mpeg2dec_src_event), (gst_mpeg2dec_change_state):
Forward GstFlowReturn about everywhere.
Handle seeking correctly.
2005-10-27 21:50:11 +00:00
Wim Taymans
65d9a9f173 ext/mpeg2dec/gstmpeg2dec.c: Small cleanups in refcounting.
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_negotiate_format),
(handle_sequence), (handle_slice), (gst_mpeg2dec_chain),
(gst_mpeg2dec_src_query), (gst_mpeg2dec_change_state):
Small cleanups in refcounting.
2005-10-27 17:26:13 +00:00
Wim Taymans
535cd3d2fa ext/mpeg2dec/gstmpeg2dec.*: Removed lots of dubious code.
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_init),
(gst_mpeg2dec_dispose), (gst_mpeg2dec_reset),
(gst_mpeg2dec_alloc_buffer), (gst_mpeg2dec_negotiate_format),
(handle_sequence), (handle_picture):
* ext/mpeg2dec/gstmpeg2dec.h:
Removed lots of dubious code.
Handle flushing and seeking correctly. Still leaks though...
2005-10-26 16:45:04 +00:00
Wim Taymans
dcd58b7551 API change fixen.
Original commit message from CVS:
* ext/amrnb/amrnbparse.c: (gst_amrnbparse_query),
(gst_amrnbparse_state_change):
* ext/mad/gstid3tag.c: (gst_id3_tag_src_query):
* ext/mad/gstmad.c: (gst_mad_get_query_types), (gst_mad_src_query):
* ext/mpeg2dec/gstmpeg2dec.c:
* ext/sidplay/gstsiddec.cc:
* gst/realmedia/rmdemux.c: (gst_rmdemux_validate_offset),
(gst_rmdemux_src_query), (gst_rmdemux_src_query_types):
API change fixen.
2005-10-19 16:01:35 +00:00
Jan Schmidt
4730a09d4b ext/mpeg2dec/gstmpeg2dec.c: GST_CAT_SEEK disappeared from the public API at some point
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c:
GST_CAT_SEEK disappeared from the public API at some point
2005-09-05 17:24:20 +00:00
Andy Wingo
fa4bd0499f All plugins updated for element state changes.
Original commit message from CVS:
2005-09-02  Andy Wingo  <wingo@pobox.com>

* All plugins updated for element state changes.
2005-09-02 15:43:54 +00:00
Wim Taymans
a9166d4c28 Various event updates and cleanups.
Original commit message from CVS:
* ext/amrnb/amrnbparse.c: (gst_amrnbparse_event),
(gst_amrnbparse_loop):
* ext/dv/gstdvdec.c: (gst_dvdec_handle_sink_event),
(gst_dvdec_handle_src_event), (gst_dvdec_decode_frame):
* ext/mad/gstid3tag.c: (gst_id3_tag_src_event),
(gst_id3_tag_sink_event), (gst_id3_tag_chain):
* ext/mad/gstmad.c: (gst_mad_src_query), (index_seek),
(normal_seek), (gst_mad_sink_event), (gst_mad_chain):
* ext/mpeg2dec/gstmpeg2dec.c:
* ext/shout2/gstshout2.c: (gst_shout2send_event):
* ext/sidplay/gstsiddec.cc:
* gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_event),
(gst_avi_demux_send_event), (gst_avi_demux_stream_header),
(gst_avi_demux_handle_seek), (gst_avi_demux_process_next_entry):
* gst/goom/gstgoom.c: (gst_goom_event):
* gst/realmedia/rmdemux.c: (gst_rmdemux_sink_event),
(gst_rmdemux_chain), (gst_rmdemux_send_event),
(gst_rmdemux_add_stream):
* gst/wavparse/gstwavparse.c: (gst_wavparse_handle_seek),
(gst_wavparse_stream_headers), (gst_wavparse_stream_data),
(gst_wavparse_loop), (gst_wavparse_srcpad_event):
Various event updates and cleanups.
2005-07-27 18:37:25 +00:00
Andy Wingo
04148ca230 ext/mpeg2dec/gstmpeg2dec.c (gst_mpeg2dec_sink_event): Signedness fix.
Original commit message from CVS:
2005-07-20  Andy Wingo  <wingo@pobox.com>

* ext/mpeg2dec/gstmpeg2dec.c (gst_mpeg2dec_sink_event): Signedness
fix.
2005-07-20 17:13:19 +00:00
Edgard Lima
43f5b4009a Ported to 0.9 (faad, amrnb, mpeg2dec)
Original commit message from CVS:
Ported to 0.9 (faad, amrnb, mpeg2dec)
2005-07-19 20:51:16 +00:00
Andy Wingo
8349527f92 Way, way, way too many files: Remove crack comment from the 2000 era.
Original commit message from CVS:
2005-07-05  Andy Wingo  <wingo@pobox.com>

* Way, way, way too many files:
Remove crack comment from the 2000 era.
2005-07-05 10:51:41 +00:00
David Schleef
5e6f428834 ext/mpeg2dec/gstmpeg2dec.c: Change uint to unsigned int. (fixes #167128)
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (crop_buffer): Change uint to
unsigned int. (fixes #167128)
2005-02-11 22:25:34 +00:00
Jan Schmidt
9c44c90c48 configure.ac: Add dvdlpcmdec
Original commit message from CVS:

* configure.ac:
Add dvdlpcmdec

* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_reset),
(free_all_buffers), (gst_mpeg2dec_alloc_buffer):
Don't push buffers if the src pad isn't negotiated yet.

* gst/audioconvert/gstaudioconvert.c:
(gst_audio_convert_buffer_to_default_format),
(gst_audio_convert_buffer_from_default_format):
Add support for 24-bit width.

* gst/dvdlpcmdec/.cvsignore:
* gst/dvdlpcmdec/Makefile.am:
* gst/dvdlpcmdec/gstdvdlpcmdec.c: (gst_dvdlpcmdec_get_type),
(gst_dvdlpcmdec_base_init), (gst_dvdlpcmdec_class_init),
(gst_dvdlpcm_reset), (gst_dvdlpcmdec_init), (gst_dvdlpcmdec_link),
(gst_dvdlpcmdec_chain), (gst_dvdlpcmdec_change_state),
(plugin_init):
* gst/dvdlpcmdec/gstdvdlpcmdec.h:
New decoder for rearranging DVD LPCM into our audio/x-raw-int
format. Needs support for the channels maps if someone can find
a DVD LPCM track with > 2 channels.

* gst/mpegstream/gstdvddemux.c: (gst_dvd_demux_handle_dvd_event),
(gst_dvd_demux_send_discont), (gst_dvd_demux_handle_discont),
(gst_dvd_demux_get_audio_stream), (gst_dvd_demux_process_private):
* gst/mpegstream/gstdvddemux.h:
* gst/mpegstream/gstmpegdemux.c: (gst_mpeg_demux_send_discont),
(gst_mpeg_demux_new_output_pad), (gst_mpeg_demux_init_stream),
(gst_mpeg_demux_send_subbuffer), (gst_mpeg_demux_handle_src_query):
* gst/mpegstream/gstmpegdemux.h:
* gst/mpegstream/gstmpegparse.c: (gst_mpeg_parse_reset),
(gst_mpeg_parse_parse_packhead), (gst_mpeg_parse_loop),
(gst_mpeg_parse_get_rate), (gst_mpeg_parse_convert_src),
(gst_mpeg_parse_handle_src_query),
(gst_mpeg_parse_handle_src_event):
Use audio/x-dvd-lpcm for LPCM output.
Add DTS output.
2005-02-08 11:08:15 +00:00
Jan Schmidt
45a0fee92b ext/mpeg2dec/gstmpeg2dec.*: The libmpeg2 user-allocated buffer management is awkward, to say the least. Hopefully thi...
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_open_decoder),
(gst_mpeg2dec_reset), (free_all_buffers),
(gst_mpeg2dec_alloc_buffer), (handle_sequence):
* ext/mpeg2dec/gstmpeg2dec.h:
The libmpeg2 user-allocated buffer management is awkward,
to say the least. Hopefully this fixes things.
2005-02-05 07:36:01 +00:00
Jan Schmidt
74ea3b6d3c ext/mpeg2dec/gstmpeg2dec.*: Rearrange buffer tracking and refcounting and refactor a little for readability.
Original commit message from CVS:
* ext/mpeg2dec/gstmpeg2dec.c: (gst_mpeg2dec_init),
(gst_mpeg2dec_close_decoder), (put_buffer), (check_buffer),
(free_buffer), (free_all_buffers), (gst_mpeg2dec_alloc_buffer),
(handle_sequence), (handle_picture):
* ext/mpeg2dec/gstmpeg2dec.h:
Rearrange buffer tracking and refcounting and refactor
a little for readability.
2005-02-04 13:43:28 +00:00