Commit graph

15107 commits

Author SHA1 Message Date
Sebastian Dröge
9c2d76fb9f decodebin: Shut down all elements explicitly to NULL state before freeing the decode chain
Due to transient locked state during autoplugging, some elements might be
ignored by the GstBin::change_state() and might still be running. Which could
then cause pad-added and similar accessing decodebin state that does not exist
anymore, and crash.

https://bugzilla.gnome.org/show_bug.cgi?id=763625
2016-03-14 17:09:32 +02:00
Sebastian Dröge
65390b5129 multihandlesink: Remove useless streamheader storage
We don't do anything with it but always get them from the caps anyway, so
stop storing them and having complicated logic around that.

https://bugzilla.gnome.org/show_bug.cgi?id=763278
2016-03-14 12:45:33 +02:00
Sebastian Dröge
1d4fb48718 multihandlesink: Only don't send HEADER buffers normally if they are actually streamheaders from the caps
And also consider HEADER buffers without DELTA_UNIT flag as sync points. This
fixes sync-mode=2 with mpegtsmux for example, which has no streamheaders but
puts the HEADER flag on its keyframes.

https://bugzilla.gnome.org/show_bug.cgi?id=763278
2016-03-14 12:45:33 +02:00
Sebastian Dröge
916746e731 decodebin: expose_pad() is always called with lock==TRUE, simplify code
This basically reverts ee44337fc3 .

https://bugzilla.gnome.org/show_bug.cgi?id=763491
2016-03-14 12:45:29 +02:00
Sebastian Dröge
65d09c1495 decodebin: Don't check twice if the decode chain is complete in pad_added_cb()
expose_pad() already does the same.

https://bugzilla.gnome.org/show_bug.cgi?id=763491
2016-03-14 12:45:29 +02:00
Sebastian Dröge
001c7f04a0 decodebin: Don't hold EXPOSE_LOCK in type_found() outside the stream lock
In other places we lock it the other way around, leading to possible
deadlocks. Also this will deadlock if analyze_pad() causes a new element to be
autoplugged that adds new pads on itself when its state is changed.

https://bugzilla.gnome.org/show_bug.cgi?id=763491
2016-03-14 12:45:29 +02:00
Sebastian Dröge
0a434e9c6c tcp: Remove unused file
It's a copy of multihandlesink, but completely outdated. Let's get rid of it
before it gets even more outdated.

https://bugzilla.gnome.org/show_bug.cgi?id=763278
2016-03-14 12:45:16 +02:00
Lubosz Sarnecki
8a443784c4 basetextoverlay: Add new properties and alignment type for unclamped absolute positions
Introduces [x-absolute, y-absolute] properties
for positioning in +/- MAX_DOUBLE range.

Adds new (h/v)alignment type "absolute" where coordinates
map the text area to be exactly inside of video canvas for [0, 0] - [1, 1]:

[0, 0]: Top-Lefts of video and text are aligned
[0.5, 0.5]: Centers are aligned
[1, 1]: Bottom-Rights are aligned

https://bugzilla.gnome.org/show_bug.cgi?id=761251
2016-03-11 13:20:26 +00:00
Tim-Philipp Müller
241fcaa645 Revert "textoverlay: Do not limit positioning to video area."
This reverts commit a48daf6dd8.

This changed behaviour in a way that's not always
backwards-compatible.

https://bugzilla.gnome.org/show_bug.cgi?id=761251
2016-03-11 13:15:53 +00:00
Nirbheek Chauhan
747bf12959 win32: Add a module definitions file for gstfft 2016-03-10 09:51:56 +00:00
Tim-Philipp Müller
aade5515ac theora: fix performance category initialisation
Remove unused _register() functions and look up the performance
debug category in a function that's actually called at some point.
2016-03-09 09:56:52 +00:00
Wim Taymans
c0ef1ea553 audio-channel-mixer: improve non-interleaved flags
Make separate flags for non-interleaved input and output because the
channel mixer should be able to convert between the two layouts in the
future.
2016-03-04 17:17:33 +01:00
Vincent Penquerc'h
509d4a0f92 gst-play: remove peculiar setting of invalid -v property 2016-03-04 13:10:49 +00:00
Vincent Penquerc'h
603e2fe24a oggdemux: fix chaining causing running time to restart from 0
This fixes:
gst-play-1.0 http://relay-nyc.gameowls.com:8000/chiptune.ogg

https://bugzilla.gnome.org/show_bug.cgi?id=758282
2016-03-04 12:18:53 +00:00
Havard Graff
461cdd8c26 opusdec: plug caps leak
https://bugzilla.gnome.org/show_bug.cgi?id=763059
2016-03-03 20:10:09 +00:00
Sebastian Dröge
e2c992de46 Revert "playbin: use avdeinterlace for deinterlacing until deinterlace is ported"
This reverts commit 0615794300.

deinterlace was ported at some point in the last 4 years and has better video
format support, and especially better negotiation than avdeinterlace. Having
avdeinterlace but not deinterlace causes various problems in zerocopy
scenarios.

https://bugzilla.gnome.org/show_bug.cgi?id=760553
2016-03-02 20:47:42 +02:00
Sebastian Dröge
e79749a531 encodebin: Make dispose() function safe to be called multiple times 2016-03-02 18:47:23 +02:00
Sebastian Dröge
48f584e663 Release 1.7.90 2016-03-01 18:14:54 +02:00
Sebastian Dröge
4e076fa2ca po: Update translations 2016-03-01 16:53:05 +02:00
Tom Deseyn
8c4d3c6aa9 multisocketsink: handle client close correctly and EWOULDBLOCK
Fixes 100% cpu usage when client disconnects. Commit 6db2ee56
would just make multisocketsink ignore reads of 0 bytes without
removing the client, so we'd get woken up over and over again
for the client.

Fix the original issue differently by handling the non-fatal error code.

https://bugzilla.gnome.org/show_bug.cgi?id=761257
https://bugzilla.gnome.org/show_bug.cgi?id=743834
2016-03-01 13:15:38 +00:00
Tim-Philipp Müller
b424712644 video: update disted orc backup file
https://bugzilla.gnome.org/show_bug.cgi?id=761851
2016-02-27 00:13:03 +00:00
Göran Jönsson
babcf4d30c video-converter: add direct UYVY to GRAY8 conversion function
https://bugzilla.gnome.org/show_bug.cgi?id=761851
2016-02-26 23:56:51 +00:00
Vincent Penquerc'h
625bd68da7 opus: fix mono<->stereo up/down-mixing
https://bugzilla.gnome.org/show_bug.cgi?id=761588
2016-02-26 16:15:20 +00:00
Lim Siew Hoon
5ae5f9055f pbutils: docs: Remove the empty lines in between <refsect2> and </refsect2>
They are converted into <para></para> by gtk-doc...

https://bugzilla.gnome.org/show_bug.cgi?id=762674
2016-02-26 14:46:44 +02:00
Sebastian Dröge
0202081bd3 Automatic update of common submodule
From b64f03f to 6f2d209
2016-02-26 12:41:01 +02:00
Tim-Philipp Müller
8b48fc1569 opusenc: remove deprecated "cbr", "audio", and "constrained-vbr" properties
They have been replaced by "audio-type" and "bitrate-type".

https://bugzilla.gnome.org/show_bug.cgi?id=756282
2016-02-26 06:51:17 +00:00
Tim-Philipp Müller
fd9e22e5e9 docs: add Opus to docs 2016-02-26 00:37:57 +00:00
Tim-Philipp Müller
f331412a37 opus: move Opus audio decoder and encoder from -bad to -base
Hook into build system after moving history.

https://bugzilla.gnome.org/show_bug.cgi?id=756282
2016-02-26 00:20:10 +00:00
Tim-Philipp Müller
a2eb430010 Merge branch 'plugin-move-opus'
Move Opus decoder and encoder from -bad to -base.

https://bugzilla.gnome.org/show_bug.cgi?id=756282
2016-02-25 23:51:42 +00:00
Tim-Philipp Müller
a153804566 tools: gst-play: add 'n' and 'b' as additional shortcuts for next/previous item
< and > are composed with shift + something else on many keyboards
layouts, so don't work well when injecting them via windowing systems
which will send them as shift key press and separate other key, and
we the don't combine that to < or > properly. n/b are easier.
2016-02-25 23:16:22 +00:00
Sebastian Dröge
16e53defe5 audiovisualizer: Use the library instead of including the source file
Fixes build now that the shader enum GType has moved to a different file.
2016-02-26 00:02:49 +02:00
Sebastian Dröge
87f380867b audiovisualizer: Let GstAudioVisualizerShader enum GType be autogenerated by glib-mkenums
That happens automatically already anyway.
2016-02-25 20:40:02 +02:00
Tim-Philipp Müller
c64dae3e1d video: flesh out docs for gst_video_frame_map() 2016-02-25 17:46:31 +00:00
Luis de Bethencourt
e23b12b1c9 visual: correct type name
Base class type name should not reference libvisual since not all child
elements use this. This was an oversight when merging audiovisualizers into
a common base class.
2016-02-25 10:51:50 +00:00
Wim Taymans
221e661f07 audio-quantize: fix feedback dither
Make sure we allocated enough extra space in the error buffer to
store the feedback error.
2016-02-24 14:57:31 +01:00
Wim Taymans
3e8cf31a96 audio-converter: perform dithering on the current format
Use the current (intermediate) format to decide how to set up dithering
instead of the input format.
2016-02-24 14:57:31 +01:00
Sebastian Dröge
2c29f09da8 rtpbasepayload: Handle gst_pad_get_current_caps() returning NULL gracefully 2016-02-23 18:23:45 +02:00
Edward Hervey
27a1fa469c Revert "playsink: Properly mark pending blocked pads"
This reverts commit 62053852de.

The issue that the patch fixes is only noticeable when using decodebin3,
which isn't yet in master.
2016-02-23 09:35:22 +01:00
Adam Miartus
2bab28f494 tag: id3v2: read conductor tag
ID3v2 features the TPE3 info frame, which contains information
about the conductor.

https://bugzilla.gnome.org/show_bug.cgi?id=762451
2016-02-22 21:16:54 +00:00
Tim-Philipp Müller
a62c7bd54c Fix use of undeclared core debug category symbols
libgstreamer currently exports some debug category
symbols GST_CAT_*, but those are not declared in any
public headers.

Some plugins and libgstvideo just use GST_DEBUG_CATEGORY_EXTERN()
to declare and use those, but that's just not right at
all, and it won't work on Windows with MSVC. Instead look
up the categories via the API.
2016-02-20 11:31:43 +00:00
Tim-Philipp Müller
ddfe7a2808 win32: remove outdated build cruft
This hasn't been touched for generations, doesn't work,
and is just causing confusion. We also don't want to
maintain these files manually.
2016-02-20 10:05:17 +00:00
Sebastian Dröge
5de6856215 Back to development 2016-02-19 12:38:24 +02:00
Sebastian Dröge
97e108beba Release 1.7.2 2016-02-19 11:48:30 +02:00
Sebastian Dröge
163a67abab po: Update translations 2016-02-19 10:31:05 +02:00
Julien Isorce
c94ac36173 uninstalled.pc: add support for non libtool build systems
Currently the .la path is provided which requires to use libtool as
mentioned in the GStreamer manual section-helloworld-compilerun.html.
It is fine as long as the application is built using libtool.

So currently it is not possible to compile a GStreamer application
within gst-uninstalled with CMake or other build system different
than autotools.

This patch allows to do the following in gst-uninstalled env:
gcc test.c -o test $(pkg-config --cflags --libs gstreamer-1.0 \
    gstreamer-video-1.0)
Previously it required to prepend libtool --mode=link

https://bugzilla.gnome.org/show_bug.cgi?id=720778
2016-02-18 14:31:28 +00:00
Reynaldo H. Verdejo Pinochet
9cf5645860 typefind: strengthen check for valid H.263 picture layer
Avoids some false positives leading to miss identification:

* Prevent picture start code emulation for the first 2 bytes read
* Add check for valid "picture coding type" and "PB-frames mode" combination

Additionally, change name on confusingly named TR var to what
it is, the layer's PTYPE.

https://bugzilla.gnome.org/show_bug.cgi?id=693263
2016-02-17 11:26:25 -08:00
Vineeth T M
5d78aab810 decodebin: return incomplete topology if decode chains' cap could not be obtained
When getting caps of the decode chain, in get_topology, the caps are being
checked if fixed or not. But get_topology will be called when the decode is
chain is being exposed and hence it will always be fixed. Hence removing the
check for fixed caps. Removing gst_pad_get_current_caps for the chain->pad, as
get_pad_caps will again call the same api.

And get_topology can return NULL value if currently shutting down the
pipeline, which on being passed to create message will result in assertion
error. Check if topology is valid before using it

https://bugzilla.gnome.org/show_bug.cgi?id=755918
2016-02-17 10:48:29 +02:00
Havard Graff
1cb19d1146 rtp: build audio library before rtp
Because audio-enumtypes.h needs to be available for
gstrtpbaseaudiopayload.c

https://bugzilla.gnome.org/show_bug.cgi?id=761949
2016-02-16 17:42:44 +02:00
Sebastian Dröge
6c2ee2853d decodebin: Fix documentation of the autoplug-query signal 2016-02-15 21:28:33 +02:00
Stian Selnes
85f297d648 videoencoder: Fix leak when pre_push does not return OK
https://bugzilla.gnome.org/show_bug.cgi?id=761951
2016-02-13 10:09:45 -03:00