Guillaume Desmottes
ca5fd56862
mpeg2dec: fix buffer leak in crop_buffer()
...
gst_buffer_pool_acquire_buffer() gives us a new owned buffer while
gst_buffer_replace() reffed it as well so we were one reference extra.
https://bugzilla.gnome.org/show_bug.cgi?id=746887
2015-03-30 16:19:00 -04:00
Luis de Bethencourt
31bf54a076
mpeg2dec: fix memory leak
...
CID #1291630
2015-03-24 12:51:36 +00:00
Luis de Bethencourt
d077a3a300
mpeg2dec: initialize buffer
...
Buffer needs to be null before passing it to gst_buffer_pool_acquire_buffer()
CID #1291634
2015-03-24 10:29:52 +00:00
Nicolas Dufresne
35c937f2a4
mpeg2dec: Add stride support
...
This allow using external pools that have different strides from the
default. These strides need to respect certain rules, which we check
and if these are not met, we fallback to generic pool.
https://bugzilla.gnome.org/show_bug.cgi?id=735379
2015-03-13 17:00:03 +00:00
Nicolas Dufresne
7e8050728a
mpeg2dec: Re-implement pool handling
...
This is a rewrite of the pool negotiation and configuration. Direct
to output decoding is now achieved by configuring the pool using
video-alignment. This removes copies when dealing with any elements that
supports VideoAlignment, and enable usage of generic video buffer pool,
XVImagePool and GLPool. It drops the crop meta implementation for now.
https://bugzilla.gnome.org/show_bug.cgi?id=735379
2015-03-13 09:56:00 +00:00
Tim-Philipp Müller
0a467495c2
Fix double semicolons
2015-03-10 09:32:51 +00:00
Nicolas Dufresne
77126f73c5
Revert "mpeg2dec: Fix handling of stride"
...
This reverts commit f3e8dcb9de
.
2015-03-09 19:11:51 +00:00
Nicolas Dufresne
d86e34a41e
Revert "mpeg2dec: Use propose unref method for buffer"
...
This reverts commit 63b43d3bee
.
2015-03-09 19:11:44 +00:00
Nicolas Dufresne
63b43d3bee
mpeg2dec: Use propose unref method for buffer
2015-03-09 18:43:43 +00:00
Simon Farnsworth
f3e8dcb9de
mpeg2dec: Fix handling of stride
...
A pipeline like:
gst-launch-1.0 filesrc location=file.ts ! tsdemux ! mpegvideoparse ! mpeg2dec ! vaapisink
would look bad when file.ts contains 704x576 video, because vaapisink would
give you buffers of stride 768, but libmpeg2 was not told about this and
used a stride of 704.
Tell libmpeg2 about the stride from downstream; in the process, teach it to
reject buffer pools that don't meet libmpeg2's chroma stride requirements
Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
2015-02-15 15:11:41 -06:00
Sebastian Dröge
7dc03df3de
Improve and fix LATENCY query handling
...
This now follows the design docs everywhere, especially the maximum latency
handling.
https://bugzilla.gnome.org/show_bug.cgi?id=744106
2015-02-11 13:56:48 +01:00
Sebastian Dröge
5dd1a28906
x264enc: Don't set max latency to the same value as the encoder latency
...
The meaning of the max latency is *not* the maximum latency this element will
introduce. It is the maximum latency this element can endure without
overflowing any buffers, which is infinite for x264enc.
Fixes latency configuration in zero latency mode, where max latency was
becoming 0... which usually won't work well if something else introduces
latency as then max < min in the end, and latency configuration just fails.
2015-02-06 19:04:32 +01:00
Vincent Penquerc'h
5f075f3361
x264enc: set annexb=1 in byte stream mode when downstream has ANY caps
...
This matches what is done when downstream caps are not ANY, and fixes
prerolling in byte stream mode when typefind is downstream.
2015-02-02 14:28:33 +00:00
Sebastian Dröge
2c5ba12f28
Constify some static arrays everywhere
2015-01-21 09:56:41 +01:00
Nicolas Dufresne
acc9529a36
x264enc: Don't set an allocation maximum
...
There is no reason x264enc should enforce a maximum allocation size.
The maximum is normally set by buffer pool which cannot grow, but we
don't offer a buffer pool. This would lead to stall when used with
element that don't implement allocation query.
Related to: https://bugzilla.gnome.org/show_bug.cgi?id=738302
2015-01-18 11:07:43 -05:00
Tim-Philipp Müller
5872a1454e
x264: fix colour inversion with YV12 format
...
It's the same as I420 but with the U/V planes swapped.
2014-08-05 19:47:26 +01:00
Nicolas Dufresne
8aea88d261
x264enc: Request buffers in allocation query
...
https://bugzilla.gnome.org/show_bug.cgi?id=732288
2014-07-25 14:29:21 -04:00
Nicolas Dufresne
698714fc97
x264enc: Shift both PTS and DTS to ensure positive timestamp
...
Currently we only shift DTS to compensate that we don't support negative
timestamp. This cause a problem that PTS is no longer >= DTS and may
make muxers live much harder. Instead, shift both PTS/DTS forward. Also
remove all the hack to handle this which seems the result of thinking libx264
is bugged.
https://bugzilla.gnome.org/show_bug.cgi?id=731351
2014-07-19 12:59:05 -04:00
Aurélien Zanelli
84b2009155
x264enc: fix caps leak in set_format()
...
https://bugzilla.gnome.org/show_bug.cgi?id=730865
2014-05-28 10:09:41 +02:00
Tim-Philipp Müller
b2e13b82aa
mpeg2dec: remove unused struct members
2014-05-16 16:24:46 +01:00
Edward Hervey
a665347345
mpeg2dec: Release codec state on negotiation failures
...
Else it leaks
CID #1212169
2014-05-09 14:54:54 +02:00
Tim-Philipp Müller
441e4f33b6
docs: remove outdated and pointless 'Last reviewed' lines from docs
...
They are very confusing for people, and more often than not
also just not very accurate. Seeing 'last reviewed: 2005' in
your docs is not very confidence-inspiring. Let's just remove
those comments.
2014-04-27 00:29:16 +01:00
Vincent Penquerc'h
16a85fc664
dvdread: avoid intermediate promotion to signed
...
We should not reach the dangerous range here, though.
Coverity 206491, 206492, 1139856
2014-04-10 16:56:13 +01:00
Vincent Penquerc'h
6b887060b1
mpeg2dec: do not reset the whole video info when setting size
...
New changes to gstvideo will reset all the video info state
when calling _set_format, overwriting what was previously set
in the preceding code.
The comment says the following code is meant to preserve the
pre-crop size, so let's just keep the size and related data
as this does not seem to break anything else (this is what
the _set_format call would have set before the change that
reset all data, except the colorimetry).
2014-04-04 10:58:50 +01:00
Dirk Van Haerenborgh
e15eb270f9
x264enc: allow lossless compression (qp=0)
...
https://bugzilla.gnome.org/show_bug.cgi?id=725051
2014-02-26 09:18:37 +01:00
Sebastian Dröge
4fb63af272
amrwbdec: Remove some dead code
2013-12-05 12:16:45 +01:00
Sebastian Dröge
4b3199bb8e
amrnbdec: Remove some dead code
2013-12-05 12:16:38 +01:00
Sebastian Dröge
b378c171ff
amrnbdec: Use gst_audio_decoder_set_needs_format() instead of custom code
2013-12-05 12:09:04 +01:00
Sebastian Dröge
cf32f8f6a5
amrwbdec: Use gst_audio_decoder_set_needs_format() instead of custom code
2013-12-05 12:08:46 +01:00
Sebastian Dröge
6049866ca6
mpeg2dec: Use new gst_video_decoder_set_needs_format() API
2013-12-05 11:44:10 +01:00
Tim-Philipp Müller
88b27e30c9
x264enc: fix compiler warning
...
Compiler warns rightly about possibly uninitialized variable.
2013-11-29 15:54:55 +00:00
Tim-Philipp Müller
20d6dbd2f6
x264enc: fix crash on NULL caps when negotiation happens without a downstream peer
...
gst-launch-1.0 videotestsrc ! x264enc
2013-11-29 15:54:55 +00:00
Mark Nauwelaerts
8c1be8796e
mpeg2dec: graceful degradation for badly parsed input
2013-11-11 13:25:22 +01:00
Michael Esemplare
fc29cbaa54
x264enc: If FPS is available, set VFR to false
...
https://bugzilla.gnome.org/show_bug.cgi?id=708940
2013-10-04 12:07:31 +02:00
Andoni Morales Alastruey
03a98eabce
x264enc: Update the documentation to match the default profile used
...
https://bugzilla.gnome.org/show_bug.cgi?id=708036
2013-09-24 10:47:41 +02:00
Olivier Crête
b82703170a
x264enc: Implement getcaps that restricts the input format depending on the output profile
...
Also add some x264enc profile tests
https://bugzilla.gnome.org/show_bug.cgi?id=708326
2013-09-18 19:33:01 -04:00
Mathieu Duponchelle
0243810e1e
x264enc: Don't unref future state but the old one
...
Being silly will lead us nowhere.
2013-09-05 22:56:48 +02:00
Sebastian Dröge
55037ab411
x264enc: Check if we have an input state before using it
...
Flushing might happen before caps were set on the encoder,
which would lead to crashes here.
Thanks to Matej Knopp for analyzing this.
https://bugzilla.gnome.org/show_bug.cgi?id=707414
2013-09-04 16:33:18 +02:00
Matej Knopp
ae45623450
x264enc: fix unsigned comparison warning
2013-09-04 10:47:55 +02:00
Tim-Philipp Müller
6572393629
x264enc: log when we output a lower profile than requested
2013-08-27 14:13:06 +01:00
Sebastian Dröge
aab5534573
x264enc: Consider subset relations of profiles when setting srcpad caps
...
constrained-baseline is a subset of baseline, is a subset of main,
is a subset of high profile.
https://bugzilla.gnome.org/show_bug.cgi?id=705425
2013-08-21 18:35:09 +02:00
Tim-Philipp Müller
e0ae81ebac
x264enc: propagate flow return back to base class and upstream
...
https://bugzilla.gnome.org/show_bug.cgi?id=705425
2013-08-21 12:35:32 +01:00
Tim-Philipp Müller
71ce5136d1
x264enc: minor clean-up
...
We requires x264 build >= 120 now.
2013-08-17 23:09:15 +01:00
Sebastian Dröge
22b3a60dbd
mpeg2dec: Fix mpeg2_reset() calls
2013-08-15 15:30:31 +02:00
Sebastian Dröge
f541f94262
ext: Use new flush vfunc of video codec base classes and remove reset implementations
2013-08-15 15:27:48 +02:00
Edward Hervey
96c15877f2
mpeg2dec: Do a hard reset of flush_stop
...
Which is notified by hard == 0 with latest refactoring.
2013-08-02 08:25:49 +02:00
Edward Hervey
767005d8c0
x264: Fix dts comparision
...
We were assigning to a guint64 value (frame->dts) the sum of a unsigned
and signed value... resulting it the result never being < 0.
Instead just check if it is smaller before assigning to frame->dts.
2013-07-26 16:47:30 +02:00
Sebastian Dröge
f8e05c2af0
mpeg2dec: Clean up reset/start/stop handling
2013-07-25 13:35:44 +02:00
Sebastian Dröge
a4a89275f8
x264enc: React properly to flushing/resetting the encoder
...
https://bugzilla.gnome.org/show_bug.cgi?id=656007
2013-07-25 12:48:55 +02:00
Sebastian Dröge
828791fadc
siddec: Add support for group-id in the stream-start event
2013-07-22 16:02:46 +02:00
Edward Hervey
576fe462bc
mpeg2dec: Properly reset on sequence changes
...
Otherwise we end up using stray data/buffers.
Fixes #690701
2013-07-17 16:17:54 +02:00
Mark Nauwelaerts
d0502b0a52
dvdreadsrc: correctly determine last chapter's duration
...
This (mostly) reverts 683f5eeae7
.
It worked just fine before ...
2013-07-09 22:04:51 +02:00
Sreerenj Balachandran
866f60cce6
mpeg2dec: make the aspect ratio calculation more accurate.
...
Utilize the libmpeg2 api: mpeg2_guess_aspect() to guess the
aspect-ratio if we don't have a valid upstream PAR.
https://bugzilla.gnome.org/show_bug.cgi?id=685103
2013-06-04 17:29:31 +02:00
Olivier Crête
c9e20af4cb
lamemp3enc: Tell GstAudioEncoder about the number of incoming samples
...
lame does internal resampling, but the base class only cares about
the number of raw samples, so tell finish frames about that, not
the number of samples in the outgoing frame.:
2013-05-09 19:48:37 -04:00
Tim-Philipp Müller
62ac56668a
x264enc: output byte-stream if downstream has ANY caps
...
It's what people expect when they pipe the output to
filesink or into a tcp connection or pipe.
2013-04-30 10:04:23 +01:00
Sebastian Dröge
ef182de45f
gst: Add better support for static plugins
2013-04-15 15:56:02 +02:00
Tom Greenwood
2e38f24b56
x264enc: Fix for 0/1 framerate - now uses VFR in this case
...
Previously did a division by zero.
https://bugzilla.gnome.org/show_bug.cgi?id=695728
2013-03-25 10:08:44 +01:00
Tim-Philipp Müller
5f83e4101f
x264enc: simplify template caps
...
No need to make an array for one single element.
2013-02-08 00:15:01 +00:00
Tim-Philipp Müller
201e3f74be
x264enc: put all theoretically possible formats in template caps
...
and decide at runtime which subset of these (8-bit or 10-bit video
formats) is supported. libx264 will be compiled for one of these
two options, and it is possible to switch by pointing the dynamic
linker to a different libx264 build at runtime. If we want our
template caps to be correct, they should contain all then, with
the actually supported ones determined at runtime.
https://bugzilla.gnome.org/show_bug.cgi?id=691935
2013-02-08 00:11:03 +00:00
Tim-Philipp Müller
e765deb01b
x264enc: detect supported bit depth and pixel formats at runtime
...
http://bugs.debian.org/667573
https://bugzilla.gnome.org/show_bug.cgi?id=691935
2013-02-07 13:37:44 +00:00
Thijs Vermeir
6461d0e035
mpeg2dec: use appropriate printf format for gsize
2012-12-19 17:16:53 +01:00
Thijs Vermeir
d1f6c462c4
cdio: Fix redundant redeclaration of 'cdio_version_string'
...
cdio/version.h is already included by cdio/cdio.h
2012-12-19 17:15:03 +01:00
Wim Taymans
248b96d25e
siddec: init debug category
2012-12-01 13:26:26 +01:00
Tim-Philipp Müller
2b814e4191
dvdread: link to libgmodule-2.0 since the g_module_* API is used
...
And the gmodule lib has been moved into the Requires.private
section of the pkg-config file in core.
2012-11-30 20:09:03 +00:00
Tim-Philipp Müller
1ab41f83b7
cdiocddasrc: detect whether drive produces samples in non-host endianness
...
If drive produces samples in other endianness than the host,
we need to byte swap them before pushing them out, or we
produce nothing but noise. cdparanoia detects this automatically,
but libcdio does not, so we have to do it ourselves.
This is needed on e.g. the PowerBook G4 with Matshita UJ-816 drive.
https://bugzilla.gnome.org/show_bug.cgi?id=377280
2012-11-27 18:12:43 +00:00
Sebastian Dröge
fcd55cfd12
x264enc: Add support for 10-bit color formats
...
Requires x264 to be built with 10-bit support, which disables
9-bit support. Also only advertise the color formats that were
compiled into x264.
2012-11-15 16:42:09 +01:00
Sebastian Dröge
d098eb0941
x264enc: Add support for Y444, Y42B and NV12
2012-11-15 16:21:49 +01:00
Tim-Philipp Müller
c4335cf663
cdio: use gst_tag_freeform_string_to_utf8() for CD-TEXT strings
...
They're probably not going to be UTF-8, but ISO-8859-1 or somesuch
if they're not plain ASCII.
2012-11-11 20:42:42 +00:00
Tim-Philipp Müller
9c690b2018
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 20:40:37 +00:00
Carlos Rafael Giani
c966867bf8
mpg123: removed unnecessary finalize function
...
https://bugzilla.gnome.org/show_bug.cgi?id=687176
2012-10-30 10:15:14 +00:00
Wim Taymans
b979e19af7
siddec: reset bytes counter
...
Reset the total_bytes counter so that we get timestamps correct.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=686931
2012-10-30 09:20:04 +00:00
Jan Schmidt
07c5c2f561
mpg123: Fix leaks from not chaining up in the finalize function
2012-10-30 10:20:09 +11:00
Carlos Rafael Giani
8cf770785a
mpg123: added gtkdoc section
...
https://bugzilla.gnome.org/show_bug.cgi?id=686595
2012-10-24 13:43:23 +01:00
Carlos Rafael Giani
09cda09f9c
mpg123: fixed bug with last frame, disabled internal resampler & chatter
...
* The last MP3 frame wasn't being pushed when base class was draining
* Made sure mpg123 cannot ever use its (crude) internal resampler
* Disabled mpg123 stderr output
https://bugzilla.gnome.org/show_bug.cgi?id=686595
2012-10-24 13:43:16 +01:00
Carlos Rafael Giani
08707937dd
mpg123: cleaned up comments, formatting, and logging lines
...
also replaced mpg123decoder->handle != NULL checks with asserts
https://bugzilla.gnome.org/show_bug.cgi?id=686595
2012-10-24 11:59:19 +01:00
Mark Nauwelaerts
f4248f002a
dvdreadsrc: correctly set next cell when seeking to sector
2012-10-18 22:19:04 +02:00
Mark Nauwelaerts
c7272913d1
dvdreadsrc: update dvd event to enhanced approach
...
... in line with resindvdsrc.
2012-10-12 14:49:28 +02:00
Jan Schmidt
6d35db313f
mpeg2dec: Don't error out when there is no associated buffer
...
In 0.10, having mpeg2dec occasionally tell us to output a frame that
was never decoded was just ignored, so do the same in 1.0
Fixes : #685107
2012-10-01 10:43:26 +10:00
Tim-Philipp Müller
4935096912
x264enc: when setting fallback decoder latency, set valid min_latency
...
Min. latency needs to be a valid time, so pass 0 as default
value in the fallback case where we can't determine any latency,
and avoid nasty criticals at runtime.
2012-09-26 01:05:52 +01:00
Tim-Philipp Müller
5f9a086484
Remove -DGST_USE_UNSTABLE_API
2012-09-17 16:57:30 +01:00
Tim-Philipp Müller
59c54c7a66
cdio: work around cdio headers re-defining VERSION and PACKAGE_VERSION
...
Thanks guys. Fixes plugin version in gst-inspect-1.0 and docs
introspection/updating for this plugin.
2012-09-17 12:25:25 +01:00
Wim Taymans
49f5cb7d76
rename some caps and elements in examples
2012-09-14 16:28:54 +02:00
Jan Schmidt
ddd13808b3
mpeg2dec: Hold ref to buffer while mapped
...
So that the buffer still exists when we go to unmap it later,
even if it got pushed in the meantime.
2012-09-11 23:16:45 -07:00
Wim Taymans
a0e9f6890e
mad: fix email address
2012-09-11 11:14:19 +02:00
Wim Taymans
acbf0313ef
mad: init base class method only once
2012-09-11 11:14:19 +02:00
Mark Nauwelaerts
b06e81b532
x264enc: clean up some debug statements
2012-09-09 16:04:56 +02:00
Mark Nauwelaerts
839e75d5d1
x264enc: handle possibly negative DTS provided by codec
...
... by arranging for an offset such that DTS == PTS for keyframes,
which is expected elsewhere to go along with semantics of PTS and DTS.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679443
2012-09-07 17:38:40 +02:00
Sebastian Dröge
9390195cfe
x264enc: Use new video encoder base class API for handling tags
2012-08-09 16:30:10 +02:00
Sebastian Dröge
d51a5e7aea
mpg123: Give MARGINAL rank to the mpg123 decoder element
2012-08-09 11:48:39 +02:00
Tim-Philipp Müller
bf33a78dee
mpg123: dist header file
2012-08-08 12:58:50 +01:00
Sebastian Dröge
87d9927126
gst: Add stream-id to stream-start events
2012-08-06 14:04:05 +02:00
Edward Hervey
2cc06f7aaf
mpeg2dec: Don't use NULL values for fbuf
...
We need to make a difference between the initial dummy buffers (which
have a fbuf->id of NULL) and the buffers on which we allocated
video frames.
2012-08-06 11:53:55 +02:00
Tim-Philipp Müller
c7fd90c842
gst_tag_list_free -> gst_tag_list_unref
2012-08-04 16:13:36 +01:00
Tim-Philipp Müller
51f79914b5
mpg123: map input buffer in READ mode, not WRITE mode
...
Makes things actually work.
2012-08-03 13:43:31 +01:00
Tim-Philipp Müller
a752d5840f
mpg123: query supported output formats at run-time
...
Fixes stuff. We use a string here since we can't be bothered
with GValue.
2012-08-03 13:38:05 +01:00
Tim-Philipp Müller
b71fcf6ec1
mpg123: hook up to build system
2012-08-03 11:52:49 +01:00
Carlos Rafael Giani
330d0bd755
mpg123: add new libmpg123-based mp3 decoder plugin
...
Needs a bit of cleaning up.
https://bugzilla.gnome.org/show_bug.cgi?id=681003
2012-08-03 11:52:11 +01:00
Sebastian Dröge
32857a7621
tag: Update for taglist/tag event API changes
2012-07-28 00:35:59 +02:00
Edward Hervey
707b14a2ef
mpeg2dec: Avoid dropping first GOP
...
We use the mpeg2_fbuf_t id field as an integer and not as a pointer, so
do not check if it is NULL or not.
And cleanup a bit of debug
2012-07-26 18:30:04 +02:00
Wim Taymans
f0b0ffa1cf
mpeg2dec: copy buffer flags when cropping
...
When we crop a buffer, copy the flags as well.
2012-07-23 13:32:26 +02:00