Commit graph

2513 commits

Author SHA1 Message Date
Vincent Penquerc'h
01b86b6b2a [MOVED FROM BAD 111/134] vp8enc: fix target bitrate config with libvpx 1.1.0
libvpx 1.1.0 disallows a bitrate of 0, which was used by
vp8enc as a default value.

Instead, we use the default libvpx bitrate, scaled to our
video size, if no bitrate was specified.

This fixes encoding VP8 video with libvpx 1.1.0.

https://bugzilla.gnome.org/show_bug.cgi?id=676245
2012-09-16 15:30:22 +02:00
Sebastian Dröge
fd598a8e3d [MOVED FROM BAD 110/134] vp8enc: Update for GstVideoCodecFrame API changes 2012-09-16 15:30:22 +02:00
Thiago Santos
1f65326f67 [MOVED FROM BAD 109/134] vp8dec: Improve output_state handling
Avoid getting output_state for every buffer as that requires
getting the objectlock and doing reference counting. Store it locally
when it is created and use it.
2012-09-16 15:30:22 +02:00
Thiago Santos
4484130cbf [MOVED FROM BAD 108/134] vp8dec: Use outputstate when copying output buffer data
Using the input state was causing a crash because the strides/offsets
would be wrong. Fix it by using the output as we are dealing with
the decoded frame.
2012-09-16 15:30:05 +02:00
Edward Hervey
74aa2e7c6a [MOVED FROM BAD 107/134] vp8: Port to -base video base classes
Conflicts:

	ext/vp8/Makefile.am
	ext/vp8/gstvp8dec.c
	ext/vp8/gstvp8enc.c

Back to 0.10 state for now, need to be ported again.
2012-09-16 15:29:52 +02:00
Vincent Penquerc'h
dccf3dc0b6 [MOVED FROM BAD 106/134] vp8enc: fix target bitrate config with libvpx 1.1.0
libvpx 1.1.0 disallows a bitrate of 0, which was used by
vp8enc as a default value.

Instead, we use the default libvpx bitrate, scaled to our
video size, if no bitrate was specified.

This fixes encoding VP8 video with libvpx 1.1.0.

https://bugzilla.gnome.org/show_bug.cgi?id=676245
2012-09-16 15:28:18 +02:00
Sebastian Dröge
4fa72a5c23 [MOVED FROM BAD 105/134] gst: Update for GST_PLUGIN_DEFINE() API changes 2012-09-16 15:28:18 +02:00
Sebastian Dröge
9894fc2abe [MOVED FROM BAD 104/134] gst: Update versioning 2012-09-16 15:28:18 +02:00
Sebastian Dröge
3cfb400de1 [MOVED FROM BAD 103/134] vp8enc: Fix 'argument to 'sizeof' in 'memset' call is the same expression as the destination' compiler warning 2012-09-16 15:28:18 +02:00
Wim Taymans
0eeb65f989 [MOVED FROM BAD 102/134] update for HEADER flag 2012-09-16 15:28:18 +02:00
Mark Nauwelaerts
85c73e93f3 [MOVED FROM BAD 101/134] port some more to new memory API
Fixes #668677.
2012-09-16 15:28:18 +02:00
Oleksij Rempel (Alexey Fisher)
ec7f8034af [MOVED FROM BAD 100/134] vp8enc: trace outgoing timestamps
add info level prints for outgoing timestamps.

Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
2012-09-16 15:28:18 +02:00
Oleksij Rempel (Alexey Fisher)
03d9022587 [MOVED FROM BAD 099/134] vp8dec: use is_alt_data option to prevent timestamp collisions
altref/invisible frames usually stored in container with same timestamp as
dependet frame. This make basevideodecoder to update timestamp for dependet
frame and couse TS colision on next frame:

                 ^- here is altref
time     : 1 2 3 4 5 6 7 8 9
webm ts  : 1   3 5 5   7   9
vp8dec ts: 1   3   7   7   9

Fix bug: https://bugzilla.gnome.org/show_bug.cgi?id=655245

Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
2012-09-16 15:28:18 +02:00
Oleksij Rempel (Alexey Fisher)
772f7b6605 [MOVED FROM BAD 098/134] vp8: add initial preset file
This is initial preset file, currently with only one profile
for realtime encoding.

Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
2012-09-16 15:28:18 +02:00
Vincent Penquerc'h
d286b04ee0 [MOVED FROM BAD 097/134] various: fix pad template ref leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2012-09-16 15:28:18 +02:00
Tim-Philipp Müller
020b7c902d [MOVED FROM BAD 096/134] vp8dec: use new basevideodecoder API to drop frames and get QoS messages posted 2012-09-16 15:27:15 +02:00
Mart Raudsepp
8fe80026a5 [MOVED FROM BAD 095/134] mimic, opencv, vp8, acmmp3dec, linsys: Don't build static plugins
Pass --tag=disable-static to libtool everywhere where it's been forgotten

https://bugzilla.gnome.org/show_bug.cgi?id=663768
2012-09-16 15:27:15 +02:00
Edward Hervey
c03ae2f3c2 [MOVED FROM BAD 094/134] vp8: Port to 0.11 2012-09-16 15:27:15 +02:00
David Schleef
653ad8b286 [MOVED FROM BAD 093/134] vp8enc: fix drop-frame property
Fixes #656929.
2012-09-16 15:27:15 +02:00
Vincent Penquerc'h
b20d432046 [MOVED FROM BAD 092/134] vp8: probe for the new tuning API to keep building with older libvpx
https://bugzilla.gnome.org/show_bug.cgi?id=656928
2012-09-16 15:27:15 +02:00
Sebastian Dröge
8e143b1c7d [MOVED FROM BAD 091/134] vp8enc: Remove unused and useless variable in tags handling 2012-09-16 15:27:15 +02:00
Sebastian Dröge
c58dd70675 [MOVED FROM BAD 090/134] vp8enc: Update for basevideoencoder ::get_caps() removal 2012-09-16 15:27:15 +02:00
David Schleef
73a6edbfe2 [MOVED FROM BAD 089/134] vp8enc: Add more properties 2012-09-16 15:27:15 +02:00
Alexey Fisher
1764be1296 [MOVED FROM BAD 088/134] vp8enc: add min/maxsection-pct option
This options should be good to redeuce decode CPU load.
for lowend hardware:
minsection-pct=15 maxsection-pct=400

for hiend hw:
minsection-pct=5 maxsection-pct=800

see example:
http://www.webmproject.org/tools/encoder-parameters/#2-pass_vbr_encoding_for_smooth_playback_on_low-end_hardware

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
Signed-off-by: David Schleef <ds@schleef.org>
2012-09-16 15:27:15 +02:00
Alexey Fisher
01ec7efbe4 [MOVED FROM BAD 087/134] vp8enc: add lag-in-frames option.
This option set maximum of frames codec should remember,
to make better prediktion for alt-ref frames.

See example:
http://www.webmproject.org/tools/encoder-parameters/#2-pass_best_quality_vbr_encoding

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
Signed-off-by: David Schleef <ds@schleef.org>
2012-09-16 15:27:15 +02:00
Alexey Fisher
24d21d5e5f [MOVED FROM BAD 086/134] vp8enc: use multipass.cache file name as default for multipass mode.
Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
Signed-off-by: David Schleef <ds@schleef.org>
2012-09-16 15:27:15 +02:00
Sebastian Dröge
6af5e9ce38 [MOVED FROM BAD 085/134] vp8enc: Update for GstBaseVideoEncoder::finish() signature change 2012-09-16 15:27:15 +02:00
Olivier Crête
140bd5c092 [MOVED FROM BAD 084/134] vp8: Fix set-but-unused warnings 2012-09-16 15:27:15 +02:00
Sebastian Dröge
c498e188b9 [MOVED FROM BAD 083/134] vp8enc: Use destroy notify to free the coder hook 2012-09-16 15:27:15 +02:00
David Schleef
ec126d9589 [MOVED FROM BAD 082/134] vp8enc: update for new libvpx api 2012-09-16 15:27:15 +02:00
Alexey Fisher
2d8a989c95 [MOVED FROM BAD 081/134] vp8enc: generate a timestamp for alt-ref frames.
It will fix handling of altref/invisible frames since matroska-mux
drop any fram with no timestamp.

see also:
http://www.webmproject.org/code/specs/container/
The encoder will currently set the AR's timestamp as close as possible
to the previous frame while attempting to provide a timestamp that is
strictly increasing. In cases where the time base given to the encoder
at configure time is not granular enough to allow for this the AR
will share the same timestamp as D, but should be
treated as having no duration.

Fixes bug #652951

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
2012-09-16 15:27:15 +02:00
Alexey Fisher
293d378289 [MOVED FROM BAD 080/134] vp8dec: add check if we have legal aspect-ratio before reset it.
the commit f9b552f049 (vp8dec: set par to 1/1)
will fix situation where no aspect-ratio is set, but it brake
stream with available aspect-ratio. This patch fix it.

Fixes: #652902.

Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net>
2012-09-16 15:27:15 +02:00
David Schleef
e46f4318f7 [MOVED FROM BAD 079/134] vp8dec: set par to 1/1 2012-09-16 15:27:15 +02:00
Sebastian Dröge
24519a0ad3 [MOVED FROM BAD 078/134] vp8enc: Name max/min quantizer properties {max,min}-quantizer
Also improve quality property description.
2012-09-16 15:27:15 +02:00
Alexey Fisher
fbf253c632 [MOVED FROM BAD 077/134] vp8enc: Add properties to select a maximum and minimum quantizer
Fixes bug #641405.
2012-09-16 15:27:15 +02:00
Alexey Fisher
b6a52550b4 [MOVED FROM BAD 076/134] vp8enc: Fix quality to (constant) quantizer mapping
This now allows to select all possible quantizers between
0 and 63.

See bug #641405.
2012-09-16 15:27:15 +02:00
Mark Nauwelaerts
81d2ba6c9d [MOVED FROM BAD 075/134] vp8dec: debug code style fixes 2012-09-16 15:27:15 +02:00
Mark Nauwelaerts
28ec65b5a4 [MOVED FROM BAD 074/134] vp8dec: propagate downstream flow return to upstream 2012-09-16 15:27:15 +02:00
Mark Nauwelaerts
e8a200c6a2 [MOVED FROM BAD 073/134] basevideodecoder: really and only set src pad caps whenever requested
... since subclass is expected to be wise enough to know when to do so.
2012-09-16 15:27:15 +02:00
Mark Nauwelaerts
47067f7d1e [MOVED FROM BAD 072/134] basevideodecoder: invoke subclass start method at state change and use set_format
While this changes API slightly (e.g. actually uses set_format now), which is OK
for unstable API, it has following merits:
* symmetric w.r.t. stop at state change
* in line with other base class practice
* otherwise no subclass method at state change (global activation time)
Moreover, subclassese are either unaffected or trivially adjusted accordingly.
2012-09-16 15:27:15 +02:00
Mark Nauwelaerts
e03fefc740 [MOVED FROM BAD 071/134] basevideodecoder: subsume skip_frame into finish_frame 2012-09-16 15:27:15 +02:00
Mark Nauwelaerts
1d8a499ceb [MOVED FROM BAD 070/134] basevideoencoder: provide proper upstream flow return handling 2012-09-16 15:27:15 +02:00
Mark Nauwelaerts
ddd32f1b05 [MOVED FROM BAD 069/134] vp8enc: minor optimization in setting up image buffer 2012-09-16 15:27:15 +02:00
Mark Nauwelaerts
b6ca1c8171 [MOVED FROM BAD 068/134] vp8enc: refactor frame processing 2012-09-16 15:27:14 +02:00
Mark Nauwelaerts
a24df7d3c7 [MOVED FROM BAD 067/134] vp8enc: do init at set_format time 2012-09-16 15:27:14 +02:00
Mark Nauwelaerts
33ec5fd08f [MOVED FROM BAD 066/134] vp8enc: fix keyframe forcing 2012-09-16 15:27:14 +02:00
Mark Nauwelaerts
e68033782b [MOVED FROM BAD 065/134] basevideocodec: remove redundant caps field
... as it is already at hand as the src pad's negotiated caps.
2012-09-16 15:27:14 +02:00
Mark Nauwelaerts
402879a52e [MOVED FROM BAD 064/134] vp8enc: use baseclass event virtual handler 2012-09-16 15:27:14 +02:00
David Schleef
280354df3f [MOVED FROM BAD 063/134] basevideo: merge utils header into basevideocodec 2012-09-16 15:27:14 +02:00
Tim-Philipp Müller
32505ef105 [MOVED FROM BAD 062/134] vp8: fix LIBADD order in Makefile.am 2012-09-16 15:27:14 +02:00
Alexey Fisher
4d5ad6d0ca [MOVED FROM BAD 061/134] vp8enc: Add description for bitrate units. 2012-09-16 15:27:14 +02:00
David Schleef
7734336a97 [MOVED FROM BAD 060/134] vp8enc: Readd setting of granulepos
Revert parts of last patch that removed setting of granulepos.
oggmux still requires correct granulepos in incoming packet.
2012-09-16 15:27:14 +02:00
David Schleef
161b89d552 [MOVED FROM BAD 059/134] vp8enc: Don't override timestamps set by base class
Because the base class does it correctly.
Fixes: #635720, #625558.
2012-09-16 15:27:14 +02:00
Edward Hervey
785bf960dd [MOVED FROM BAD 058/134] vp8: Remove dead assignments 2012-09-16 15:27:14 +02:00
David Schleef
49d0bcce24 [MOVED FROM BAD 057/134] basevideo: Move common fields/functions to basecodec 2012-09-16 15:27:14 +02:00
David Schleef
d1d6fe1b8d [MOVED FROM BAD 056/134] basevideo: Move deadline to frame structure 2012-09-16 15:27:14 +02:00
Philip Jägenstedt
7af2375a46 [MOVED FROM BAD 055/134] vp8dec: Set GstBaseVideoDecoder::packetized to TRUE as soon as possible
This fixes an infinite loop if an EOS event is received before
GstBaseVideoDecoder::start() is called, e.g. immediately when the
pads are activated.

Fixes bug #626815.
2012-09-16 15:27:14 +02:00
Sebastian Dröge
3509034bc9 [MOVED FROM BAD 054/134] vp8enc: Add support for enabling automatic insertion of alt-ref frames by the encoder 2012-09-16 15:27:14 +02:00
Sebastian Dröge
084d1588a9 [MOVED FROM BAD 053/134] vp8enc: Fix handling of invisible/alt ref frames 2012-09-16 15:27:14 +02:00
Sebastian Dröge
6be4d8efe0 [MOVED FROM BAD 052/134] vp8: Add initial documentation, based on the theoradec/theoraenc documentation 2012-09-16 15:27:14 +02:00
Sebastian Dröge
2856d8a6fa [MOVED FROM BAD 051/134] vp8: Move structure definitions, etc to public header files for gtk-doc 2012-09-16 15:27:14 +02:00
Sebastian Dröge
83ffb384d0 [MOVED FROM BAD 050/134] vp8enc: Implement multipass encoding
Fixes bug #621348.
2012-09-16 15:27:14 +02:00
Sebastian Dröge
7f3e1a1484 [MOVED FROM BAD 049/134] vp8enc: Set VP8E_SET_CPUUSED to 0
This setting controls how much CPU can be used by the encoder, specified
in fractions of 16. Negative values mean strict enforcement of this
while positive values are adaptive.

The default value is -4, which means that we're not running as fast
as possible and probably are wasting some quality. 0 is the recommended
default by libvpx upstream.
2012-09-16 15:27:14 +02:00
Sebastian Dröge
ec2c2b5fcc [MOVED FROM BAD 048/134] vp8enc: Use VPX defines for REALTIME, GOOD/BEST quality deadlines instead of our own
These are the values used for the speed property.
2012-09-16 15:27:14 +02:00
Tim-Philipp Müller
87fee9151b [MOVED FROM BAD 047/134] vp8enc: fix printf format warning in log message
gstvp8enc.c:564: error: format ‘%d’ expects type ‘int’, but argument 8 has type ‘size_t’
gstvp8enc.c:744: error: format ‘%d’ expects type ‘int’, but argument 8 has type ‘size_t’
2012-09-16 15:27:14 +02:00
Tim-Philipp Müller
86db423828 [MOVED FROM BAD 046/134] basevideo, vp8: guard unstable API with GST_USE_UNSTABLE_API
Add some guards and fat warnings to the header files with still unstable
API, so people who just look at the installed headers know that it
actually is unstable API.

Merging previous commit into current codebase.
2012-09-16 15:27:14 +02:00
David Schleef
b8cd2ec0f6 [MOVED FROM BAD 045/134] basevideo: Move base video from vp8 to gst-libs 2012-09-16 15:27:14 +02:00
Sebastian Dröge
2014a7eee2 [MOVED FROM BAD 044/134] vp8: Use VPX_PLANE_* instead of PLANE_* 2012-09-16 15:27:14 +02:00
Sebastian Dröge
b9e31e22c6 [MOVED FROM BAD 043/134] vp8: Add compatilibity defines to work with older versions of libvpx too 2012-09-16 15:27:14 +02:00
Philip Jägenstedt
70305a8088 [MOVED FROM BAD 042/134] vp8dec: s/IMG_FMT_I420/VPX_IMG_FMT_I420/
This corresponds to upstream libvpx commit 6cd4a10e167203d1deb79abf60ee72599e97891b
2012-09-16 15:27:14 +02:00
Sebastian Dröge
0de97a2e85 [MOVED FROM BAD 041/134] vp8enc: Allow a maximum keyframe distance of 0, i.e. all frames are keyframes 2012-09-16 15:27:14 +02:00
Sebastian Dröge
f431917418 [MOVED FROM BAD 040/134] vp8dec: Set decoder deadline from the QoS information 2012-09-16 15:27:14 +02:00
Sebastian Dröge
8e3994ad8f [MOVED FROM BAD 039/134] vp8enc: Move debug output one line above where the packet is still valid 2012-09-16 15:27:13 +02:00
Sebastian Dröge
e0aa93f455 [MOVED FROM BAD 038/134] vp8enc: Correctly ignore non-frame packets from the encoder
Fixes bug #619916.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
951b3a1594 [MOVED FROM BAD 037/134] basevideodecoder: Take the frame duration into account when calculating the earliest time
This formula is used in many other elements too.

Fixes bug #619318.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
c90e9b3127 [MOVED FROM BAD 036/134] basevideodecoder: Reset QoS values when necessary 2012-09-16 15:27:13 +02:00
Sebastian Dröge
13dbfc2fa9 [MOVED FROM BAD 035/134] vp8enc: Use GST_VIDEO_CAPS_YUV(I420) instead of handwritten I420 caps for the pad template
Fixes bug #619344.
2012-09-16 15:27:13 +02:00
Philip Jägenstedt
c28c23b63d [MOVED FROM BAD 034/134] vp8dec: drop late frames after decoding them
This saves a memcpy, which is always something.
2012-09-16 15:27:13 +02:00
Philip Jägenstedt
ee152678af [MOVED FROM BAD 033/134] vp8enc: threads property
Increasing from 1 to 2 threads on an Thinkpad X60s decreased encode time
in a test from ~24 s to ~19 s, so this is quite useful.

Ideally we should let 0 be the default and automatically match the number
of CPU cores (or something).
2012-09-16 15:27:13 +02:00
Philip Jägenstedt
109a4f4e12 [MOVED FROM BAD 032/134] vp8enc: add mode property to switch between CBR/VBR
Always using CBR when bitrate is used isn't that great, VBR mode
can produce meaningful results too.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
d2d3aefa94 [MOVED FROM BAD 031/134] vp8dec: Only enable postprocessing if the decoder supports it 2012-09-16 15:27:13 +02:00
Philip Jägenstedt
9918341dd0 [MOVED FROM BAD 030/134] vp8: typo: s/HAVE_VP8_DECODER/HAVE_VP8_ENCODER/
Fixup for bug #619172.
2012-09-16 15:27:13 +02:00
Philip Jägenstedt
7f56565f76 [MOVED FROM BAD 029/134] vp8: move #ifdef HAVE_VP8_ENCODER/DECODER
Otherwise we'll try including e.g. <vpx/vp8cx.h> which doesn't exist.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
70015da68e [MOVED FROM BAD 028/134] vp8enc: Write GStreamer element and version in the vorbiscomment vendor string 2012-09-16 15:27:13 +02:00
Sebastian Dröge
9cb55fb96b [MOVED FROM BAD 027/134] vp8: Only enable the encoder or decoder if it's available in libvpx
Fixes bug #619172.
2012-09-16 15:27:13 +02:00
Philip Jägenstedt
2c0d247ad9 [MOVED FROM BAD 026/134] vp8: exlcude dec/enc based on CONFIG_VP8_DECODER/ENCODER
This may not be very autotoolish, but works with libvpx in the state
that libvpx is actually in. Moved the debug init to the elements
themselves to minimize amount of #ifdefs
2012-09-16 15:27:13 +02:00
Philip Jägenstedt
80d2b43443 [MOVED FROM BAD 025/134] vp8enc: Limit max-latency to 25 to match libvpx
From libvpx/vp8/encoder/onyx_int.h:
 #define MAX_LAG_BUFFERS (CONFIG_REALTIME_ONLY? 1 : 25)

While we don't need to be tied to what libvpx does internally, it
doesn't make sense to pretend to support longer frame lags than are
actually possible.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
67adf511fd [MOVED FROM BAD 024/134] vp8: Undef HAVE_CONFIG_H before including libvpx headers
A public libvpx header includes private headers if this is
defined, causing compilation failures because the private headers
are not installed of course.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
78fc2011db [MOVED FROM BAD 023/134] vp8enc: Some more minor adjustments for the Ogg mapping 2012-09-16 15:27:13 +02:00
Sebastian Dröge
93def25c8a [MOVED FROM BAD 022/134] vp8dec: Fix memory leak 2012-09-16 15:27:13 +02:00
Sebastian Dröge
b7e64c7c69 [MOVED FROM BAD 021/134] vp8enc: Adjust Ogg mapping for the changes 2012-09-16 15:27:13 +02:00
Sebastian Dröge
5ce64cf8ad [MOVED FROM BAD 020/134] vp8dec: Add properties to control the VP8 decoder post processing feature
This is disabled by default for now.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
f4f6bc62f4 [MOVED FROM BAD 019/134] vp8enc: Rename keyframe-interval to max-keyframe-distance
And use default settings for buffer sizes until we expose this
somehow.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
6ce8a5609f [MOVED FROM BAD 018/134] vp8: Improve error handling and debug output 2012-09-16 15:27:13 +02:00
Sebastian Dröge
3028d1abc0 [MOVED FROM BAD 017/134] vp8: Use correct strides and plane offsets for GStreamer 2012-09-16 15:27:13 +02:00
Sebastian Dröge
5d397656f9 [MOVED FROM BAD 016/134] vp8enc: Implement GstTagSetter interface 2012-09-16 15:27:13 +02:00
Sebastian Dröge
e3ede57f5e [MOVED FROM BAD 015/134] vp8enc: Fix setting of the keyframe flag on encoded frames 2012-09-16 15:27:13 +02:00
Sebastian Dröge
b1f35fff9d [MOVED FROM BAD 014/134] vp8enc: Post an error message on the bus if encoder initialization fails 2012-09-16 15:27:13 +02:00
Sebastian Dröge
087ecc20eb [MOVED FROM BAD 013/134] vp8dec: Fix memory leaks and fail if initializing the decoder fails 2012-09-16 15:27:13 +02:00
David Schleef
ba0c0c6bbb [MOVED FROM BAD 012/134] vp8enc: Set timebase
Also misc cleanup.
2012-09-16 15:27:13 +02:00
Sebastian Dröge
dd38c5c993 [MOVED FROM BAD 011/134] vp8dec: Fix decoding of invisible frames 2012-09-16 15:27:12 +02:00
Sebastian Dröge
de308639da [MOVED FROM BAD 010/134] vp8enc: Update the latency when initializing the encoder 2012-09-16 15:27:12 +02:00
Sebastian Dröge
42300e5ee7 [MOVED FROM BAD 009/134] vp8dec: Correctly initialize stream info before peeking at the stream
Otherwise peeking will fail and we'll get invalid values
2012-09-16 15:27:12 +02:00
Sebastian Dröge
08a5311f85 [MOVED FROM BAD 008/134] vp8dec: Make sure to pass a keyframe as first frame to the decoder, copy output frames only once and require width/height/etc on the input caps 2012-09-16 15:27:12 +02:00
Sebastian Dröge
091ba8f6aa [MOVED FROM BAD 007/134] vp8enc: Add support for invisible frames and the Ogg mapping 2012-09-16 15:27:12 +02:00
David Schleef
75d31dabe8 [MOVED FROM BAD 006/134] vp8dec: Fix reset after seeking
Also remove some unused code.
2012-09-16 15:27:12 +02:00
Sebastian Dröge
4a733f9083 [MOVED FROM BAD 005/134] vp8enc: Set frame numbers as buffer offsets 2012-09-16 15:27:12 +02:00
Sebastian Dröge
4d3759bbe6 [MOVED FROM BAD 004/134] vp8enc: Always get as many frames as possible from the encoder 2012-09-16 15:27:12 +02:00
Sebastian Dröge
522e0cb779 [MOVED FROM BAD 003/134] vp8enc: Fill the oldest pending frame instead of the newest 2012-09-16 15:27:12 +02:00
Sebastian Dröge
5f7655d481 [MOVED FROM BAD 002/134] vp8enc: Correctly set delta unit flag for non-keyframes 2012-09-16 15:27:12 +02:00
David Schleef
a27682279d [MOVED FROM BAD 001/134] vp8: Add encoder/decoder 2012-09-16 15:27:12 +02:00
Mark Nauwelaerts
a32398fee5 replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-09-14 17:07:40 +02:00
Wim Taymans
829c80ce6c fix more caps 2012-09-14 13:30:37 +02:00
Wim Taymans
e59498c33d pulsesrc: disable reconfigure
See https://bugzilla.gnome.org/show_bug.cgi?id=683902
2012-09-13 10:25:48 +02:00
Stefan Sauer
f874922e1c collectpads: remove gst_collect_pads_add_pad_full
Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all
invocations.
2012-09-12 21:05:44 +02:00
Mark Nauwelaerts
f12ef67f56 ext, gst: only activate in pull mode if upstream is seekable 2012-09-11 17:44:51 +02:00
Wim Taymans
c47c410e7b pulsesrc: consider stream alive when not connected yet
When we start and renegotiate, there is a moment where the stream is created but
not yet connected. Make sure all functions deal with this situation correctly
instead of erroring out.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681247
2012-09-10 13:35:15 +02:00
Wim Taymans
619b2bd1a9 pulsesrc: don't fail when not negotiated yet
When get_time is called but we are not yet negotiated, return 0 instead of
posting an error. It's possible that the base class is still negotiating when
our get_time is called.
2012-09-10 12:15:25 +02:00
Wim Taymans
497ff16355 update for audio base src api change 2012-09-10 11:32:25 +02:00
Wim Taymans
148ab7539b pulse: improve debug 2012-09-06 10:43:52 +02:00
Mark Nauwelaerts
8d53318e22 dvdemux: remove obsolete update newsegment handling code 2012-09-05 11:50:05 +02:00
Tim-Philipp Müller
b27ac94af2 gst_message_new_duration -> gst_message_new_duration_changed 2012-09-02 01:31:53 +01:00
Mark Nauwelaerts
67f3d6ac16 gdkpixbuf: adjust to modified video overlay composition API 2012-08-30 12:21:01 +02:00
Tim-Philipp Müller
4bb52bbadf docs: gst-launch -> gst-launch-1.0 and ffmpegcolorspace -> videoconvert 2012-08-27 21:20:30 +01:00
Tim-Philipp Müller
e4cb67fad8 docs: gst-launch-0.11 -> gst-launch-1.0 2012-08-27 21:20:29 +01:00
Sjoerd Simons
01665d9da3 pulsesrc: Only print caps if they're provided 2012-08-27 09:00:45 +02:00
Arun Raghavan
ef9c81d495 pulsesrc: Handle negotiation events
This makes sure that we:

a) Destroy an existing stream if a negotiate() request comes in: this is
required when receiving a downstream renegotiation request after a
stream has been created.

b) Create a new stream on prepare(): this is required since we do a
setcaps() in negotiate(), which causes the stream to be dropped by a
ringbuffer release() call (this does not happen during first negotiation
since the release is only done on a running ringbuffer). The subsequent
call to ringbuffer acquire() fails because the stream was lost on
release().

https://bugzilla.gnome.org/show_bug.cgi?id=681247
2012-08-22 11:38:42 +02:00
Arun Raghavan
1a8512986a pulse: Clear unpositioned flag when setting positions
If converting a PA channel map to gst channel positions results in a
valid set of channel positions, we clear the unpositioned flag from the
ringbuffer spec.
2012-08-22 11:38:42 +02:00
Arun Raghavan
e317d88eaa pulsesrc: Remove redundant channel-mask setting for stereo case
The gstaudio helper libraries already take care of this case for us.
2012-08-22 11:38:41 +02:00
Arun Raghavan
fe83843abe pulsesrc: Don't use memset to set invalid channel positions
This itereates over the GstAudioInfo to set invalid channel positions
rather than use memset() which works right now because it assumes that
GST_AUDIO_CHANNEL_POSITION_INVALID is -1.
2012-08-22 11:38:41 +02:00
Tim-Philipp Müller
2c69684b80 gdkpixbufsink: minor docs improvement 2012-08-22 10:30:04 +01:00
Tim-Philipp Müller
c71248662d gdkpixbuf: re-enable already-ported gdkpixbufsink 2012-08-22 10:23:24 +01:00
Tim-Philipp Müller
39411ab4eb gdkpixbuf: port gdkpixbufoverlay element to 0.11 2012-08-22 10:14:39 +01:00
Tim-Philipp Müller
582bfea738 gdkpixbuf: re-enable already-ported gdkpixbuf element as gdkpixbufdec
Not sure why it as disabled exactly given that it had already
been ported (though without metas or baseclass).

Move plugin_init bits into separate source file, and rename
decoder element to gdkpixbufdec.
2012-08-22 10:14:39 +01:00
Tim-Philipp Müller
58037b75b2 gdkpixbuf: remove old and unused gst_loader source file
Once upon a time used to load GStreamer vids via GdkPixbuf API.
2012-08-22 10:14:39 +01:00
Anton Belka
59186f970d flacenc: allow a TOC with single alternative top-level entry
Allow a TOC that has a single alternative top-level entry
with multiple sequence sub-entries

https://bugzilla.gnome.org/show_bug.cgi?id=540891
2012-08-10 14:24:28 +02:00
Sebastian Dröge
6f74b2afb7 gst: Set alignment at the correct place of GstAllocationParams 2012-08-08 17:41:31 +02:00
Tim-Philipp Müller
787c314ec3 Silence some 'variable may be used uninitialized' compiler warnings
When compiling with -DG_DISABLE_ASSERT
2012-08-08 11:31:59 +01:00
Tim-Philipp Müller
4de8bd004c No code with side-effects inside g_assert() please 2012-08-08 11:07:55 +01:00
Anton Belka
fa86bf26df flacenc: add TOC support
Add TOC as embedded cuesheets in flac files.

https://bugzilla.gnome.org/show_bug.cgi?id=54089
2012-08-07 18:04:41 +02:00
Sebastian Dröge
7b5925b5a4 gst: Add stream-id to stream-start events 2012-08-06 13:43:57 +02:00
Tim-Philipp Müller
c074bfd0b9 gst_tag_list_free -> gst_tag_list_unref 2012-08-04 16:10:16 +01:00
Mark Nauwelaerts
94ab6e17f5 flacdec: improve and relax audio frame parsing
... so as to properly recognize first audio frame.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681077

Conflicts:

	ext/flac/gstflacdec.c
2012-08-03 14:02:23 +02:00
Sebastian Dröge
0827f54b93 tag: Update for taglist/tag event API changes 2012-07-28 00:19:51 +02:00
Mark Nauwelaerts
2e8260a787 flacenc: obtain image type from the sample info 2012-07-27 11:26:18 +02:00
Mark Nauwelaerts
e31bfd6ddb flacenc: remove extraneous _unref
... since we did not obtain a buffer ref from the GstSample.
2012-07-27 11:25:49 +02:00
Robert Swain
7c94509243 flacenc: Update to use GstSample tag setting API 2012-07-27 10:14:23 +02:00
Mark Nauwelaerts
0f18a9aaaa flacenc: only set complete output caps once
... so as to avoid downstream complaints about missing streamheaders.
2012-07-25 16:02:39 +02:00
Mark Nauwelaerts
a9b4ceefaf flacdec: also support S24_32 output 2012-07-25 16:02:39 +02:00
Mark Nauwelaerts
c340deb8b6 flacenc: pass correct parameters to encoder lib 2012-07-25 16:02:38 +02:00
Mark Nauwelaerts
7e6338044c flacenc: adjust to modified audioencoder getcaps helper API 2012-07-25 16:02:38 +02:00
Tim-Philipp Müller
942d745cf1 jpegdec: fix up example pipeline some more
No more ffmpegcolorspace
2012-07-24 12:10:46 +01:00
Sreerenj Balachandran
1057c02c73 jpegdec: Fix the example gst-launch pipeline. 2012-07-24 12:59:14 +02:00
Sebastian Dröge
6e673d4796 ext: Update for video base classes API changes 2012-07-23 10:32:36 +02:00
Alban Browaeys
0c24e92308 soup: deprecated soup_message_headers _get -> _get_one
https://bugzilla.gnome.org/show_bug.cgi?id=680206
2012-07-18 22:48:08 +01:00
Edward Hervey
fa5697ec08 jpeg/png: Call video_decoder_negotiate() 2012-07-18 18:27:40 +02:00
Edward Hervey
f063e40af7 demux: Push STREAM_START event when needed 2012-07-13 13:51:48 +02:00
Wim Taymans
16b8e2d171 update for query api changes 2012-07-06 11:50:50 +02:00
Wim Taymans
8eadb9c12c update for query api changes 2012-07-06 11:26:46 +02:00
Wim Taymans
77813e67e1 update for allocation query changes 2012-07-06 11:05:11 +02:00
Sebastian Dröge
aeafc3a093 gst: Implement segment-done event 2012-07-05 13:13:09 +02:00
Wim Taymans
df097db437 jpegenc: mark all output frames as keyframes 2012-06-27 09:13:47 +02:00
Wim Taymans
30d3dfee36 update for task api change 2012-06-20 10:33:42 +02:00
Wim Taymans
f65495d405 update for audio api change 2012-06-08 10:11:12 +02:00
Wim Taymans
456c8e8205 pulsesrc: improve clock handling
Post the notify outside of the pa_lock to avoid a deadlock caused by basesrc
calling get_time with the object lock.
Reset the clock on connect.
Post clock-lost and clock-provide messages.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=673977

Conflicts:

	ext/pulse/pulsesrc.c
2012-06-07 15:15:03 +02:00
Mohammed Sameer
3bcae19398 Better GstClock for pulsesrc
This clock uses the actual stream time (pa_stream_get_time) to get a more accurate timestamp.

Conflicts:

	ext/pulse/pulsesrc.c
2012-06-07 15:11:09 +02:00
Vincent Penquerc'h
088c4442c4 png: fix video state leaks 2012-06-07 11:25:23 +01:00
Vincent Penquerc'h
1dad35eeff jpegdec: fix video state leak 2012-06-07 11:24:45 +01:00
Wim Taymans
b5df4f0e62 update for tag event change 2012-06-06 13:02:12 +02:00
Thiago Santos
78ec03e32f Some printf variable format fixes
The osx compiler complains about those
2012-06-05 17:53:57 -03:00
Wim Taymans
23520e4127 jpegdec: set colorimetry on output info 2012-06-04 16:18:05 +02:00
Sebastian Dröge
5ba30e6111 png: Port to 0.11 again 2012-05-28 15:22:55 +02:00
Jens Georg
982c1b479f soup: Drop transferMode.dlna.org header
Leave it to the application to decide on the header. No header at all
is better than having the wrong header as DLNA mandates that a missing
header has to be tolerated while a wrong header is an error.

https://bugzilla.gnome.org/show_bug.cgi?id=676020
2012-05-28 15:22:55 +02:00
Edward Hervey
0b82806547 png: Port to base video classes
Conflicts:

	ext/libpng/gstpngdec.c
	ext/libpng/gstpngdec.h
	ext/libpng/gstpngenc.c
	ext/libpng/gstpngenc.h

Reverted to 0.10, needs to be ported again.
2012-05-28 15:22:55 +02:00
Mathias Hasselmann
e143c43ef5 jpegdec: remove framerate
The jpeg decoder doesn't need/care about the framerate to so it should
not be in the caps.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676302
2012-05-24 16:13:05 +02:00
Luis de Bethencourt
b63a6e2cbc mng: remove ext/libmng
Port to 0.10 was never finished.
Interest was lost.

https://bugzilla.gnome.org/show_bug.cgi?id=324364
2012-05-22 13:48:48 +01:00
Sjoerd Simons
c5196f6b1b pulsesrc: Listen to source output events, not sink input 2012-05-21 11:57:17 +02:00
Edward Hervey
f96d18e959 jpeg: Remove dead code
Conflicts:

	ext/jpeg/gstjpegdec.c
2012-05-18 11:16:05 +02:00
Sebastian Dröge
c11e680a10 jpegdec: Fix compilation 2012-05-18 11:05:35 +02:00
Edward Hervey
9c4e195e79 jpegdec: When dropping frames on EOS, flush out data
Cleaner way of handling stray data
2012-05-18 11:05:17 +02:00
Edward Hervey
d243fb9178 jpegdec: Remove unused variable
Conflicts:

	ext/jpeg/gstjpegdec.c
2012-05-18 11:05:02 +02:00
Edward Hervey
d811797186 jpegdec: Only parse for SOI when we didn't see it before 2012-05-18 11:04:39 +02:00
Edward Hervey
c6c4906770 jpegdec: Remember if we saw SOI and handle stray data on EOS 2012-05-18 11:04:32 +02:00
Tim-Philipp Müller
95f6e0dbe4 souphttpsrc: fix possible data corruption after seeking
Consider a downstream element that may issue seeks in very short
succession (e.g. queue2), depending on the access pattern of
the downstream element (e.g. qtdemux with audio/video chunks
interleaved so that there's always a sizeable gap between the
current chunks for each stream). In this case, queue2 will maintain
two ranges, and even when it serves a chunk from memory, it will
switch ranges and make souphttpsrc seek to the end of the available
data for that range, assuming that that's where we'll want to
continue reading from next.

This may lead to the following seek request pattern:

 - source reading position A
 - seek to B
 - now reading position still A, requested_postion is B
 - streaming thread to be restarted to continue from B
 - seek to A, before streaming thread had time to do the seek
 - do_seek() now sees reading position == seek position and
   returns early.
 - however, requested position is still B from the earlier
   seek request
 - streaming thread starts up, sees that a seek to B is pending
   and requests data from B from the server, while the GstBaseSrc
   segment has of course been updated/reset to position A, which
   was the last seek request.
 - we will now send data for position B and pretend that's the
   data from position A (via the newsegment event, etc.)
 - this causes data corruption

Reproducible doing seek-emulated fast-forward/backward on 006648.
2012-05-16 08:31:15 +01:00
Sebastian Dröge
62580b14f6 jpeg: Port to 0.11 again 2012-05-14 14:39:34 +02:00
Edward Hervey
8e9eb77816 jpeg: Port jpegdec/jpegenc to base video classes
Conflicts:

	ext/jpeg/gstjpegdec.c
	ext/jpeg/gstjpegdec.h
	ext/jpeg/gstjpegenc.c
	ext/jpeg/gstjpegenc.h

Reverted to 0.10 versions for now, next port again.
2012-05-14 13:01:48 +02:00
Tim-Philipp Müller
dd75c21670 annodex: remove annodex plugin and CMML elements
This never really took off and is most likely completely
unused. If there is still a need for this, it should
probably be done differently, perhaps inside oggdemux/mux.
2012-05-13 19:21:19 +01:00
Thiago Santos
db74901b6a jpegenc: do not proxy our filter caps downstream on caps queries
Downstream likely won't accept video/x-raw and the caps query
will return EMPTY caps. Instead, create a copy of the caps that
has all structure names replaced by 'image/jpeg'

Simple pipeline that shows the problem:
gst-launch-1.0 videotestsrc num-buffers=1 ! "video/x-raw, \
  width=(int)640, height=(int)480" ! videoscale ! jpegenc ! \
  "image/jpeg, width=(int)800, height=(int)600" ! filesink \
  location=/tmp/image.jpg
2012-05-04 16:25:31 -03:00
Wim Taymans
373333c2b3 pulsesink: improve debug 2012-04-25 10:29:45 +02:00
Wim Taymans
c0140982ee pulsesink: start unmuted when requested
When we explicitely set the mute property to FALSE, connect to pulseaudio with
the PA_STREAM_START_UNMUTED flag set, otherwise pulseaudio will use its
previously used value (which might start the stream muted).

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=672401
2012-04-25 10:29:45 +02:00
Bastien Nocera
933986fccc soup: Handle icy and icyx URI schemes
As handled by QuickTime (for icy), and Orban/Coding Technologies
AAC/aacPlus Player (for icyx). See also:
https://bugzilla.gnome.org/show_bug.cgi?id=394207
https://bugzilla.gnome.org/show_bug.cgi?id=403285

https://bugzilla.gnome.org/show_bug.cgi?id=673899
2012-04-23 15:34:54 +02:00
Sebastian Dröge
04b70571e5 video: Update for libgstvideo API changes 2012-04-19 12:20:59 +02:00
Mark Nauwelaerts
38d571fa57 dv1394: port to 0.11 2012-04-18 17:09:45 +02:00
Mark Nauwelaerts
67e168aef4 collectpads2: rename to collectpads 2012-04-17 15:14:27 +02:00
Tim-Philipp Müller
e0eddb4f25 shout2: update for ogg media type changes 2012-04-15 22:49:47 +01:00
Sebastian Dröge
d99eb6d2cb Update everything for the removal of the interface library and mixer/tuner interfaces 2012-04-13 13:15:11 +02:00
Руслан Ижбулатов
e7659756a1 Fix format string
Fixes #673859
2012-04-10 22:41:20 +01:00
Tim-Philipp Müller
e09ae5736d Use new gst_element_class_set_static_metadata() 2012-04-10 00:51:41 +01:00
Sebastian Dröge
aa2cd462da gst: Update for GST_PLUGIN_DEFINE() API changes 2012-04-05 17:36:38 +02:00
Sebastian Dröge
5cdd49bf25 gst: Update versioning 2012-04-04 14:37:47 +02:00
Mark Nauwelaerts
ecf09f45f3 jpegenc: plug template caps leak 2012-04-03 18:42:51 +02:00
Wim Taymans
3d61d12e03 update for buffer api change 2012-03-30 18:15:34 +02:00
Sebastian Dröge
df946f603f speexenc: Use new gst_audio_encoder_set_headers() API 2012-03-30 12:53:44 +02:00
Sebastian Dröge
b16f5637e8 ext: Update for GstAudioEncoder API changes 2012-03-30 12:18:45 +02:00
Mark Nauwelaerts
12d7acf6f6 flacenc: plug ref leak 2012-03-29 17:21:53 +02:00
Sebastian Dröge
49f85b38b7 Merge remote-tracking branch 'origin/0.10'
Conflicts:
	configure.ac
2012-03-29 15:03:09 +02:00
Mark Nauwelaerts
e4e38f9a0f wavpackenc: query downstream for BYTE seeking support 2012-03-28 14:50:04 +02:00
Mark Nauwelaerts
03bde3f0d2 flacenc: query downstream for BYTE seeking support 2012-03-28 14:50:03 +02:00
Mark Nauwelaerts
5550d8bc6f flacdec: clean up obsolete log statement 2012-03-28 14:50:03 +02:00
Wim Taymans
69002aa24f update for buffer changes 2012-03-28 12:53:05 +02:00
Tim-Philipp Müller
e780771223 gdkpixbufoverlay: add "alpha" property to set alpha of overlay image
.. or turn the overlay off by setting alpha to 0.0
2012-03-25 00:18:43 +00:00
Wim Taymans
c44cd8f55b Merge branch 'master' into 0.11
unport gdkpixbuf
not merged: https://bugzilla.gnome.org/show_bug.cgi?id=654850

Conflicts:
	docs/plugins/Makefile.am
	docs/plugins/gst-plugins-good-plugins-docs.sgml
	docs/plugins/gst-plugins-good-plugins-sections.txt
	docs/plugins/gst-plugins-good-plugins.hierarchy
	docs/plugins/inspect/plugin-avi.xml
	docs/plugins/inspect/plugin-png.xml
	ext/flac/gstflacdec.c
	ext/flac/gstflacdec.h
	ext/libpng/gstpngdec.c
	ext/libpng/gstpngenc.c
	ext/speex/gstspeexdec.c
	gst/audioparsers/gstflacparse.c
	gst/flv/gstflvmux.c
	gst/rtp/gstrtpdvdepay.c
	gst/rtp/gstrtph264depay.c
2012-03-22 11:53:24 +01:00
Mark Nauwelaerts
19121249bd flacdec: improve error handling and resilience
... by noting that one occurred in the first place, and then appropriately
ignoring some transient ones.
2012-03-19 12:02:42 +01:00
Tim-Philipp Müller
e300675384 docs: update docs for new properties and add gdkpixbufoverlay element
Somewhat at least. No idea why it doesn't pick up the description
or example pipeline.
2012-03-18 00:17:21 +00:00
Tim-Philipp Müller
a4860b3c01 gdkpixbufoverlay: make most properties controllable and flag them as mutable-playing 2012-03-18 00:12:19 +00:00
Tim-Philipp Müller
fdb7ec12b4 gdkpixbufoverlay: add properties for positioning and sizing 2012-03-17 23:46:23 +00:00
Tim-Philipp Müller
729a30c38b gdkpixbuf: add gdkpixbufoverlay element
Still lacks features such as positioning or resizing, or
animations, but it's usable already, and supports lots of
formats.
2012-03-17 20:19:29 +00:00
Wim Taymans
513d480fbf don't pass random pointers to pull_range 2012-03-16 21:47:21 +01:00
Wim Taymans
ced47580b7 update for bufferpool changes 2012-03-15 22:11:17 +01:00
Wim Taymans
f3a770a20c update for allocation query changes 2012-03-15 20:37:56 +01:00
Wim Taymans
ecaea36c3d update for memory api changes 2012-03-15 13:36:17 +01:00
Wim Taymans
ad0af26eed update for memory api changes 2012-03-14 21:36:03 +01:00
Wim Taymans
751fcf035b take padding into account 2012-03-14 19:56:56 +01:00
Andrej Gelenberg
9fb6766870 pngenc: add support for 8- and 16-bit gray images
Add support for direct encoding of 8- and 16-bit big endian gray images.

https://bugzilla.gnome.org/show_bug.cgi?id=672025
2012-03-14 13:43:49 +00:00
Mark Nauwelaerts
1e16b61c8c wavpackenc: do not set output caps directly
... but use base class function instead.
2012-03-14 10:39:59 +01:00
Wim Taymans
ed59c841a4 pulse: fix formats, we can not handle S8 but only U8 2012-03-13 13:25:09 +01:00
Wim Taymans
89105970f0 flacenc: fix streamheaders
Fix the caps of flacenc, the reference encoder only support 24 bits in
32 bits.
Set streamheader on output caps.
2012-03-13 12:40:37 +01:00
Ross Burton
265a5bfa9b flacenc: generate seektables every 10 sec by default
Since this is what the command line tool does as well, it seems like
a better default.
2012-03-12 15:27:27 +01:00
Andrej Gelenberg
38372eb199 pngdec: add support for video/x-raw-gray formats
pngdec can now decode gray 8- and 16-bit images without alpha channel
direct to video/x-raw-gray format. 16-bit gray images have big-endian
format, because it's native PNG endianness. Gray images with alpha
channel still converted to RGBA.

Signed-off-by: Andrej Gelenberg <andrej.gelenberg@udo.edu>
2012-03-12 15:18:12 +01:00
Wim Taymans
075cd54019 fix for caps _normalize changes 2012-03-12 12:23:15 +01:00
Wim Taymans
a32d944a38 fix for caps api changes 2012-03-11 19:06:37 +01:00
Wim Taymans
756948262c fix template caps refcount 2012-03-10 10:52:01 +01:00
Wim Taymans
e0e39cb4ee aasink: propose videometa uptream
subclass from videosink.
Propose videometa upstream because we can handle it with the video api.
2012-03-08 13:09:33 +01:00
Mark Nauwelaerts
a199ad9001 speexdec: use base class tag handling helper
... so as to ensure these to be handled and sent at proper time.
2012-03-06 16:23:48 +01:00
Sebastian Dröge
4101f87d17 wavpack: Fix possible underflow of unsigned integer variable 2012-03-06 14:25:27 +01:00
Wim Taymans
1f0cf56c8b gdk: cleanups and fix rowstride
Fix the output rowstride, we need to take the stride of the output video frame.
Since we are also dealing with planes, take the plane data and stride.
Don't store the same info twice in different variables.
2012-03-05 15:42:17 +01:00
Wim Taymans
4d8002e9c4 gdkpixbuf: fix event handling 2012-03-05 15:42:17 +01:00
Mark Nauwelaerts
2f7d8f55a4 wavpackdec: port to 0.11 2012-03-05 13:44:21 +01:00
Mark Nauwelaerts
e0c7004667 wavpackenc: port to 0.11 2012-03-05 13:44:21 +01:00
Mark Nauwelaerts
8721817f6d wavpack: remove legacy wavpackparse 2012-03-05 13:44:21 +01:00
Mark Nauwelaerts
26dd999b68 Merge branch 'master' into 0.11
Conflicts:
	ext/wavpack/gstwavpackparse.c
	sys/v4l2/gstv4l2bufferpool.c
	sys/v4l2/gstv4l2bufferpool.h
	sys/v4l2/gstv4l2videooverlay.c
2012-03-05 13:29:59 +01:00
Mark Nauwelaerts
dccbbe191d wavpackdec: allow some timestamp tolerance to arrange for perfect timestamping
... which also happens to make some more unit tests pass.
2012-03-05 10:56:41 +01:00
Mark Nauwelaerts
e43ff87364 wavpackdec: fix copying output data 2012-03-05 10:56:41 +01:00
Mark Nauwelaerts
7dbb1551ae wavpackenc: restore legacy buffer offset decorating somewhat
... at least sufficiently to aid in recognizing rewritten header buffer
making unit test pass.
2012-03-05 10:56:41 +01:00
Stefan Sauer
7ca56e24bd wavpackparse: remove empty lines in varable declarations caused by old indent 2012-03-05 10:47:19 +01:00
Stefan Sauer
9212d79198 jack: fix obvious wrong definition for the master flag 2012-03-05 10:44:54 +01:00
Stefan Sauer
18e8aa48e6 jack: change the transport-mode enum into flags
One can use (or not use) master and slave mode independently.
2012-03-04 19:56:43 +01:00
Sebastian Dröge
3299f39179 mixer/colorbalance: Update for API changes 2012-03-02 10:13:08 +01:00
Wim Taymans
431ecdf6b7 aasink: fix stride 2012-03-01 17:42:05 +01:00
Mark Nauwelaerts
f189f62b13 Merge branch 'master' into 0.11
Conflicts:
	ext/wavpack/gstwavpackenc.c
	tests/check/elements/audioiirfilter.c
	tests/examples/v4l2/probe.c
2012-03-01 11:29:50 +01:00
Mark Nauwelaerts
9f4fb6feb9 gdkpixbufsink: remove deprecated property 2012-03-01 10:52:58 +01:00
Mark Nauwelaerts
3720d1cb09 gdkpixbufscale: remove deprecated property 2012-03-01 10:52:58 +01:00
Mark Nauwelaerts
06bf7481b1 gdkpixbufsink: port to 0.11 2012-03-01 10:52:58 +01:00
Mark Nauwelaerts
84881b5399 gdkpixbufscale: port to 0.11 2012-03-01 10:52:58 +01:00
Mark Nauwelaerts
606a88f197 gdkpixbufdec: port to 0.11 2012-03-01 10:52:58 +01:00
Mark Nauwelaerts
a5144cbba0 wavpackdec: adjust to audio format limitations
... which does not allow expressing arbitrary depth in a GstAudioFormat.

Also adjust unit test to modified behaviour.
2012-02-27 23:46:15 +01:00
Mark Nauwelaerts
0723928e8b wavpackdec: determine depth from bytes per sample
... rather than from bits per sample, since spec states values are already
left justified w.r.t. bits per sample but not w.r.t. bytes per sample
(and so the latter determines the normalization, or indicated depth).
2012-02-27 23:46:08 +01:00
Mark Nauwelaerts
004377b0b5 wavpackdec: port to audiodecoder 2012-02-27 23:46:03 +01:00
Mark Nauwelaerts
b863df570f wavpackenc: port to audioencoder
Also adjust unit test to slightly modified behaviour.
2012-02-27 23:45:54 +01:00
Edward Hervey
9beda57c3a Suppress deprecation warnings in selected files, for g_value_array_* mostly 2012-02-27 14:47:25 +01:00
Wim Taymans
36e6b25e73 speexenc: chain up to parent event handler 2012-02-27 13:09:31 +01:00
Wim Taymans
a51ce46d90 flacenc: fix event handling
Fix dodgy segment event handling
Chain up to parent event handler
2012-02-27 13:05:33 +01:00
Tim-Philipp Müller
61d3a215a0 Merge commit '38516ad367128d83f9e156529018adb4433cd328' into 0.11
Conflicts:
	ext/pulse/pulseaudiosink.c
	gst/audioparsers/gstmpegaudioparse.c
2012-02-27 00:48:57 +00:00
Tim-Philipp Müller
3e9f191262 flacenc: fix get_caps function some more so that all structures have channel info
Set channels and channel-layout on the right structure; that is, the
structure we are going to append to the caps we are building, and not
the structure we are using as a template for all the structures. Fixes
first structure of the returned caps not having any channel info set
on it.
2012-02-22 17:39:16 +00:00
Tim-Philipp Müller
f0b076212f flacenc: microoptimisation: avoid unnecessary list and string copies 2012-02-22 17:09:25 +00:00
Tim-Philipp Müller
9ce663f04d flacenc: audio caps have a *list* of formats, not an array of formats
A list of things in caps is something where one is picked in the
course of negotiation. An array is always something that only makes
sense as a whole in that order.
2012-02-22 17:03:42 +00:00
Mark Nauwelaerts
38516ad367 flacenc: remove post-port bogus _unref 2012-02-22 18:03:11 +01:00
Tim-Philipp Müller
b7e96ebe37 flacenc: remove bogus pad locking that causes deadlocks
It's not clear why the pad object lock is taken here. But
gst_pad_{has,get}_current_caps() will try to take the lock
as well and deadlock, since it's not recursive.
2012-02-22 17:00:19 +00:00
Tim-Philipp Müller
9c5c33790a flacenc: set right number of channels on caps in get_caps function 2012-02-22 16:59:42 +00:00
Vincent Untz
a32e030faa pulse: Fix a build warning when compiling with asserts disabled
Return a value even if the code will never be reached, to make compilers
happy.

https://bugzilla.gnome.org/show_bug.cgi?id=670561
2012-02-21 20:12:06 +00:00
Edward Hervey
98dd495272 id3v2mux: Fix merge error 2012-02-21 10:40:00 +01:00
Mark Nauwelaerts
594867fe37 shout2: use some more boilerplate 2012-02-16 23:35:11 +01:00
Mark Nauwelaerts
834c63f87e shout2: port to 0.11 2012-02-16 23:35:11 +01:00
Tim-Philipp Müller
91a58ccda1 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/taglib/gstapev2mux.cc
	ext/taglib/gstid3v2mux.cc
	ext/taglib/gsttaglibmux.c
	ext/taglib/gsttaglibmux.h
2012-02-12 17:03:37 +00:00
Tim-Philipp Müller
736f68e1e6 taglib: port to GstTagMux base class 2012-02-12 16:22:21 +00:00
Vincent Penquerc'h
8620c16b27 taglib: finish off a few missed variable changes
Local variables are now unused, and the values from the segment copy
are used instead, so remove the now useless local variables and write
to the segment where appropriate.
2012-02-12 12:24:50 +00:00
Wim Taymans
225e98d623 Merge branch 'master' into 0.11
Conflicts:
	ext/flac/gstflacenc.c
	ext/jack/gstjackaudioclient.c
	ext/jack/gstjackaudiosink.c
	ext/jack/gstjackaudiosrc.c
	ext/pulse/plugin.c
	ext/shout2/gstshout2.c
	gst/matroska/matroska-mux.c
	gst/rtp/gstrtph264pay.c
2012-02-10 16:23:14 +01:00
Mark Nauwelaerts
abc8c162ed flacdec: shift in proper direction for audio sample conversion 2012-02-09 22:09:31 +01:00
Wim Taymans
9365f12d6e GST_FLOW_WRONG_STATE -> GST_FLOW_FLUSHING 2012-02-08 16:43:30 +01:00
Ralph Giles
8b2ca70124 shout2send: send video/webm through libshout.
This requires SHOUT_FORMAT_WEBM, added in libshout 2.3.0,
so video/webm support is contingent on that symbol being
defined.

Also an indentation change required by the pre-commit hook.

https://bugzilla.gnome.org/show_bug.cgi?id=669590
2012-02-08 10:50:18 +00:00
Stefan Sauer
7a9970fc29 jack: rework transport support
Move common code to jackclient. There we can also handle the request state
message in a better way, as the element callbacks are only run if the element is
active.
2012-02-07 21:59:29 +01:00
Wim Taymans
819865ea54 taglib: fix object registration
We can't use G_DEFINE_TYPE because the class is not set in the class_init and we
need it to get the srcpad template.
Fix a caps leak
2012-02-07 10:30:28 +01:00
Wim Taymans
88733ea2f8 soup: fix caps 2012-02-07 10:30:28 +01:00
Mark Nauwelaerts
9be8a6f48c dv: port to 0.11 2012-02-06 22:15:45 +01:00
Arun Raghavan
4e2cf393c0 pulseaudiosink: Lower rank to prevent autoplugging
pulseaudiosink breaks visualisations in its current form, so let's
prevent it from being autoplugged for the time being.

The best we can hope to do in the 0.10 series is query the list of
available sinks and their formats, and expose these as the bin's sinkpad
caps. While this is not a comprehensive solution, it will make sure that
we're only trying to support compressed formats if we're certain that
one exists.

The long-term fix for this will be in the form of proper upstream
renegotiation support in the 0.11/1.0 series.

https://bugzilla.gnome.org/show_bug.cgi?id=666361
2012-02-03 22:12:06 +05:30
Wim Taymans
78ed46cc4f cmmlenc: fix caps handling 2012-02-03 16:14:08 +01:00
Vincent Penquerc'h
5ff31d446e flacenc: fix event leak when there is no peer on the src pad 2012-02-03 14:53:31 +00:00
Mark Nauwelaerts
da0cdc7713 taglib: port to 0.11 2012-02-01 18:02:15 +01:00
Tim-Philipp Müller
0f3b7b010e build: ignore GValueArray deprecation warnings for the time being
until this gets sorted out with the GLib folks and we have a
viable alternative.

https://bugzilla.gnome.org/show_bug.cgi?id=667228
2012-02-01 16:40:51 +00:00
Tim-Philipp Müller
284ee0b84a pulse: disable some unused property probe code
which was using GValueArray
2012-02-01 16:36:53 +00:00
Sebastian Dröge
a67bd41d75 speex: Use new audio encoder/decoder base class API for srcpad caps 2012-02-01 16:27:47 +01:00
Sebastian Dröge
161229a384 flac: Use new audio encoder/decoder base class API for srcpad caps 2012-02-01 16:27:47 +01:00
Wim Taymans
bb2bd604e0 update for HEADER flag 2012-01-30 17:16:51 +01:00
Jayakrishnan M
d6821a336d cairo: fix build, make sure libgstvideo can be found
https://bugzilla.gnome.org/show_bug.cgi?id=668648
2012-01-25 15:21:44 +00:00
Sebastian Dröge
0b517ce9fb Merge branch '0.11' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-good into 0.11 2012-01-25 12:49:34 +01:00
Sebastian Dröge
10554b271f Merge branch 'master' into 0.11
Conflicts:
	ext/flac/gstflacdec.c
	ext/jpeg/gstjpegenc.c
	ext/pulse/pulsesink.c
	sys/v4l2/gstv4l2src.c
2012-01-25 12:49:11 +01:00
Wim Taymans
f87ab74add png: port to new memory API 2012-01-25 12:41:42 +01:00
Wim Taymans
b4630dd3e0 more memory API porting 2012-01-25 12:30:29 +01:00
Mark Nauwelaerts
a31a9e1f33 pngenc: disably snapshot behaviour by default
... since such behaviour is not consistent, if allowable at all.
2012-01-24 18:25:04 +01:00
Mark Nauwelaerts
2fcb5fa05b pngdec: port to 0.11 2012-01-24 18:25:04 +01:00
Mark Nauwelaerts
a1797459cb pngenc: port to 0.11 2012-01-24 18:25:04 +01:00
Tim-Philipp Müller
7cb9b7ab9d Use new GLib API unconditionally 2012-01-22 23:15:19 +00:00
Mark Nauwelaerts
1911812572 flacdec: improve upstream peer duration querying
... to avoid accepting unhandled duration query result.
2012-01-20 17:10:19 +01:00
Mark Nauwelaerts
e44d930289 pulsesrc: additional error condition checking 2012-01-20 17:10:17 +01:00
Mark Nauwelaerts
3168b77e04 pulsesink: additional error condition checking 2012-01-20 17:10:14 +01:00
Mark Nauwelaerts
ad11ec4121 jpegenc: check _alloc_buffer result and perform fallback alloc if needed
... rather than carrying on with NULL buffer.
2012-01-20 17:10:11 +01:00
Wim Taymans
b22c0dd3f6 update for memory API 2012-01-19 12:44:39 +01:00
Wim Taymans
1584806634 port to new gthread API 2012-01-19 11:33:53 +01:00
Vincent Penquerc'h
f0ac29113c pulsesrc: fix wrong error check
pa_stream_* functions return negative on error, despite the defines
for error codes being positive.

I only got to repro the error twice, so I'm not sure 100% sure this
fixes the issue (the negative var being uninitialized after returning
from pa_stream_get_latency).
2012-01-13 18:11:36 +00:00
Tim-Philipp Müller
8580dd86c9 eqMerge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/jack/gstjackaudiosink.c
	ext/jack/gstjackaudiosrc.c
	gst/matroska/matroska-mux.c
	gst/matroska/matroska-read-common.c
	gst/rtpmanager/gstrtpssrcdemux.c
2012-01-12 23:48:50 +00:00
Vincent Penquerc'h
483514528a flacenc: do not drop the first data buffer on the floor (and leak it either) 2012-01-12 10:30:56 +00:00
Stefan Sauer
bc1fa747a7 jack: add a transport mode enum
Clients can configure the desired behaviour via "transport" property. The
default behaviour is ignoring the transport state. Other modes are master and
slave.
2012-01-11 14:52:14 +01:00
Sebastian Dröge
e3c8c4f8b0 souphttpsrc: Fix buffer handling
souphttpsrc is now usable again and doesn't crash anymore
whenever something is read from a HTTP connection.
2012-01-11 14:10:46 +01:00
Stefan Sauer
747e63f4e7 jack: deactivate the request_state code
When qjackctl is started, transport is stopped by default. This would be a
regression for gstreamer apps that before just started to play right away.
2012-01-10 23:02:45 +01:00
Stefan Sauer
7d4044aa46 jack: add transport control handling
This feature allows to start and stop playback from other jack applications (e.g. qjackctl).
2012-01-10 22:35:02 +01:00
Stefan Sauer
0280ab04ed jack: use jack type for the callback
Jack headers have a typedef for the shutdown callback as well.
2012-01-10 15:08:16 +01:00
Sebastian Dröge
93e3ed5a86 Merge branch 'master' into 0.11
Conflicts:
	ext/cairo/gsttextoverlay.c
	ext/pulse/pulseaudiosink.c
	gst/audioparsers/gstaacparse.c
	gst/avi/gstavimux.c
	gst/flv/gstflvmux.c
	gst/interleave/interleave.c
	gst/isomp4/gstqtmux.c
	gst/matroska/matroska-demux.c
	gst/matroska/matroska-mux.c
	gst/matroska/matroska-mux.h
	gst/matroska/matroska-read-common.c
	gst/multifile/gstmultifilesink.c
	gst/multipart/multipartmux.c
	gst/shapewipe/gstshapewipe.c
	gst/smpte/gstsmpte.c
	gst/udp/gstmultiudpsink.c
	gst/videobox/gstvideobox.c
	gst/videocrop/gstaspectratiocrop.c
	gst/videomixer/videomixer.c
	gst/videomixer/videomixer2.c
	gst/wavparse/gstwavparse.c
	po/ja.po
	po/lv.po
	po/sr.po
	tests/check/Makefile.am
	tests/check/elements/qtmux.c
	tests/check/elements/rgvolume.c
2012-01-10 14:32:32 +01:00
Sebastian Dröge
a22a566c0b flac: Port to the new raw audio caps 2012-01-06 09:40:55 +01:00
Sebastian Dröge
4b6a410be0 speex: Update for the new raw audio caps 2012-01-05 10:36:49 +01:00
Sebastian Dröge
42bdbbcb29 jack: Add the new layout field to the raw audio caps 2012-01-05 10:36:48 +01:00
Sebastian Dröge
531d611f83 jackaudiosrc: Port to the new multichannel audio caps 2012-01-05 10:36:45 +01:00
Sebastian Dröge
dc049d1f1f pulse: Port to the new multichannel caps 2012-01-05 10:30:30 +01:00
Wim Taymans
47a1da9076 GST_FLOW_UNEXPECTED -> GST_FLOW_EOS 2012-01-04 10:01:48 +01:00
Wim Taymans
5fd2b7abe3 GST_FLOW_UNEXPECTED -> GST_FLOW_EOS 2012-01-03 15:26:21 +01:00
Nicola Murino
7202d37c9d jpegdec: fix peer_caps leak
https://bugzilla.gnome.org/show_bug.cgi?id=666688
2011-12-26 15:34:47 -03:00
Tim-Philipp Müller
ff74718616 pulse: remove pulseaudiosink helper bin
This is causing us lots of headaches in 0.10 and needs to be done
differently and properly in 0.11. playbin or decodebin should
reconfigure themselves based on reconfigure events, for example.
2011-12-25 22:21:36 +00:00
Tim-Philipp Müller
2799bcd32e pulse: update for ring buffer audio format type enum rename 2011-12-25 21:45:45 +00:00
Wim Taymans
4b8975f867 update for removed property probe 2011-12-21 11:59:46 +01:00
Vincent Penquerc'h
cf344d50b1 cairotextoverlay: port to GstCollectPads2 2011-12-14 18:34:25 +00:00
Tim-Philipp Müller
b8b8454bcb Suppress deprecation warnings in selected files, for g_static_rec_mutex_* mostly
GStaticRecMutex is part of our API/ABI, not much we can do here
in 0.10 for most of these.
2011-12-12 09:46:27 +00:00
Tim-Philipp Müller
330d984288 Use g_thread_try_new() instead of g_thread_crate() with newer glib versions 2011-12-12 09:46:27 +00:00
Tim-Philipp Müller
66f6e12888 Work around deprecated thread API in glib master
Add private replacements for deprecated functions such as
g_mutex_new(), g_mutex_free(), g_cond_new() etc., mostly
to avoid the deprecation warnings. We'll change these
over to the new API once we depend on glib >= 2.32.
2011-12-12 09:46:27 +00:00
Tim-Philipp Müller
8aebe194aa gdkpixbufsink: fix inverted pixel-aspect-ratio
Spotted by Mike Morrison.

https://bugzilla.gnome.org/show_bug.cgi?id=665882
2011-12-11 18:40:31 +00:00
Tim-Philipp Müller
9c1095f474 pulseaudiosink: don't leak pad template 2011-12-11 17:55:14 +00:00
Tim-Philipp Müller
5bb4dcd89c soup: fix start/stop race in souphttpclientsink
Fix crash or hang in generic/states unit test when doing stop()
right after start(). Create main loop in the start function already
and not just in the thread function, so that stop() always has a
valid main loop to quit on. Also, calling g_main_loop_quit() before
g_main_loop_run() won't work and result in the stop function waiting
for the thread to join forever. Therefore, wait for the thread to
be ready and get the main loop running in the start() function, to
be sure stop() always works.
2011-12-11 17:24:20 +00:00
Tim-Philipp Müller
adb15bf34a pulse: rename "client" properties to "client-name"
Better name, but also matches the property on the jack
elements (where "client" is used for something else).
2011-12-09 16:04:56 +00:00
Tim-Philipp Müller
2e078fa556 jack: don't leak client name when freeing the element
And add gtk-doc chunks for the new property.

https://bugzilla.gnome.org/show_bug.cgi?id=665872
2011-12-09 15:50:28 +00:00
Nicolas Baron
92cfb335cd jack: add "client-name" property to jackaudiosink and jackaudiosrc
https://bugzilla.gnome.org/show_bug.cgi?id=665872
2011-12-09 15:45:03 +00:00
Wim Taymans
1538803ac4 update for basesink event handler changes 2011-12-02 22:25:17 +01:00
Wim Taymans
5bfc7b4bfe update for moved audio interfaces 2011-11-30 07:57:40 +01:00
Thiago Santos
1e6bd5ad57 Revert "pulseaudiosink: fix caps leak"
This reverts commit d6a9de9e2a.

setcaps functions aren't supposed to take ownership of the caps passed
2011-11-29 17:34:49 -03:00
Vincent Penquerc'h
c0e101e93f various: fix pad template leaks
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:30:27 +00:00
Tim-Philipp Müller
eeaa9e0bbc pulseaudio: require pulseaudio >= 1.0 2011-11-26 13:54:22 +00:00
Tim-Philipp Müller
be0d6baac5 Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	ext/pulse/pulseaudiosink.c
	ext/pulse/pulsesrc.c
	gst/audioparsers/gstaacparse.c
	gst/audioparsers/gstamrparse.c
	gst/audioparsers/gstdcaparse.c
	gst/audioparsers/gstflacparse.c
	gst/effectv/gstradioac.c
	gst/effectv/gstradioac.h
	gst/effectv/gstripple.c

Some possible FIXMEs remaining in the audio parser getcaps functions.
2011-11-26 13:34:10 +00:00
Arun Raghavan
1f4bb68794 pulsesrc: Implement GstStreamVolume interface
PulseAudio 1.0 supports per-source-output volumes, and this exposes the
functionality via the GstStreamVolume interface.

When compiled against pre-1.0 PulseAudio, the interface is not
implemented, and the "volume" or "mute" properties are not available.
This bit of ugliness will go away when we can depend on PulseAudio 1.0
or greater.

https://bugzilla.gnome.org/show_bug.cgi?id=595055
2011-11-25 22:30:41 +05:30
Arun Raghavan
8c6a548698 pulsesrc: Trivial comment copy-paste-o fix 2011-11-25 22:30:41 +05:30
Arun Raghavan
bdf95eb39b pulseaudiosink: Remove redundant code 2011-11-25 22:30:41 +05:30
Arun Raghavan
f6f1605468 pulseaudiosink: Clean up refcounting in event probe
Makes sure we don't leak a refcount if the object is disposed before a
NEWSEGMENT turns up.
2011-11-25 22:30:41 +05:30
Tim-Philipp Müller
2cfb92f253 souphttpsrc: get rid of iradio-* properties, post tags instead 2011-11-24 01:45:43 +00:00
Tim-Philipp Müller
3f7c432869 souphttpsrc: always send icecast request header, drop iradio-mode property
Server should ignore unknown/unhandled headers..
2011-11-24 01:41:34 +00:00