Sebastian Dröge
518d84c148
openh264dec: The codec can only do baseline so simplify the code a bit
...
and declare this also on the srcpad caps.
With baseline profile there are no B-frames or frame reordering.
2014-10-03 17:23:36 +03:00
Sebastian Dröge
bc8e1465dc
openh264dec: On ::finish() stop trying if the decoder returned that no output is available
2014-10-03 17:23:36 +03:00
Sebastian Dröge
088cf16bf9
openh264: Run gst-indent over everything
2014-10-03 17:23:36 +03:00
Sebastian Dröge
09f5b9acec
openh264: Remove unused codecparsers lib
2014-10-03 17:23:36 +03:00
Sebastian Dröge
68baaf19c3
openh264: Add FIXME comment about missing API in openh264
2014-10-03 17:23:36 +03:00
Sebastian Dröge
0e15f47bdf
openh264dec: Try to handle frame reordering
...
As openh264 has no way to attach any IDs to input frames that we then get on
the output frames, we have to assume that the input has valid PTS. We just
take the frame with the oldest PTS, and if there is no PTS information we take
the one with the oldest DTS.
2014-10-03 17:23:36 +03:00
Sebastian Dröge
8ae2af61ce
openh264dec: Don't drop videocodec frames if we can't decode them *yet*
...
Fixes jittery playback of streams with B frames.
2014-10-03 17:23:36 +03:00
Sebastian Dröge
1dfcdb9ce3
openh264dec: GstVideoDecoder works on frames, not sub-frames (e.g. NALs)
...
And we can just pass complete AUs to the decoder without problems.
2014-10-03 17:23:36 +03:00
Sebastian Dröge
1eb740a7c3
openh264dec: As we require NAL alignment from upstream we don't need to parse anything
2014-10-03 17:23:36 +03:00
Sebastian Dröge
0a31814ef3
openh264dec: Properly drain codec on ::finish()
2014-10-03 17:23:35 +03:00
Sebastian Dröge
10475b6793
openh264enc: Properly drain the encoder on ::finish()
2014-10-03 17:23:35 +03:00
Sebastian Dröge
8aedcc6bde
openh264enc: We always get a single frame as output, not a NAL
...
No need to accumulate NALs.
2014-10-03 17:23:35 +03:00
Sebastian Dröge
70d4e6b740
openh264enc: Fix up caps and stride handling
2014-10-03 17:23:35 +03:00
Sebastian Dröge
f3cabe3cc3
openh264enc: Add support for GstVideoMeta
...
This will allow upstream elements to work more efficiently.
2014-10-03 17:23:35 +03:00
Sebastian Dröge
2285cbaa45
openh264dec: Add support for GstVideoMeta
...
This will make operation with various sinks faster for free.
2014-10-03 17:23:35 +03:00
Sebastian Dröge
4475663569
openh264dec: Optimize frame copying a bit
2014-10-03 17:23:35 +03:00
Sebastian Dröge
4c5a504a7b
openh264dec: Don't forget to unref the input state
2014-10-03 17:23:35 +03:00
Sebastian Dröge
76b5c1c511
openh264dec: Fix various crashes on ::stop()
2014-10-03 17:23:35 +03:00
Sebastian Dröge
bc5c6a0fc9
openh264dec: Remove invalid sprops-parameter-set handling
...
This only exists on RTP caps, not H264 caps.
2014-10-03 17:23:35 +03:00
Sebastian Dröge
739a10d84e
openh264enc: Don't set caps manually
...
This will break the order of events in GStreamer.
2014-10-03 17:23:35 +03:00
Sebastian Dröge
18e7540263
openh264dec: Fix input state handling and propagation of upstream caps fields
2014-10-03 17:23:35 +03:00
Sebastian Dröge
cf4ec9b04e
openh264: Add OpenH264 based encoder/decoder elements
...
These are the openh264 elements released under the BSD-2 license
by Ericsson as part of the OpenWebRTC project.
https://github.com/EricssonResearch/openwebrtc-gst-plugins
https://bugzilla.gnome.org/show_bug.cgi?id=737788
2014-10-03 17:23:35 +03:00
Tim-Philipp Müller
3953b8e419
fluiddec: don't crash on 0-sized input buffers
...
https://bugzilla.gnome.org/show_bug.cgi?id=737658
2014-10-01 00:53:59 +01:00
Lubosz Sarnecki
04034b11f4
gltransformation: graphene multiplication order has changed
...
https://bugzilla.gnome.org/show_bug.cgi?id=733510
2014-09-30 22:11:35 +10:00
Matthew Waters
d1360ef2c7
glvideomixer: update element documentation
2014-09-30 20:39:36 +10:00
David Waring
29f1f4533e
dash: Use GstUri to join URIs
2014-09-29 12:22:19 +03:00
Matthew Waters
3ab17dfbe3
Revert accidental push: "gltestsrc: implement checkers pattern with GLSL"
...
This reverts commit eae09179f0
.
2014-09-29 00:27:30 +10:00
Wang Xin-yu (王昕宇)
eae09179f0
gltestsrc: implement checkers pattern with GLSL
2014-09-28 21:43:34 +10:00
Matthew Waters
b658f04d6c
gloverlay: fix zero output frames with YUY2/UYVY
...
also, be nice and disable blending for other elements
2014-09-26 22:29:56 +10:00
Matthew Waters
720ba932c9
gloverlay: protect desktop gl specific tokens with #if
2014-09-26 22:22:06 +10:00
Matthew Waters
eaa424cec7
gloverlay: free the image memory every time the location changes
...
fixes a memory leak
2014-09-26 12:28:55 +10:00
Sebastian Dröge
9c6c82887f
gloverlay: Include into the build with GLES2 only too
2014-09-25 20:48:59 +03:00
Matthew Waters
7e69750336
gltestsrc: free the shader on stop
2014-09-26 01:59:44 +10:00
Matthew Waters
acb21cdb83
glvideomixer: fix blending with low-alpha sources
...
We also need to apply the blend paramaters to the alpha channel otherwise
the output of the blend will appear black at low alpha values (< 0.2).
2014-09-26 01:59:43 +10:00
Matthew Waters
7b3024c387
gloverlay: reimplement everything
...
- update for shaders
- add alpha property
- image placement properties shamelessly borrowed from gdkpixbufoverlay
- image placement properties are GstController able
- use GstGLMemory for the overlay image data
- add support for gles2
2014-09-26 01:59:43 +10:00
Luis de Bethencourt
97ed6a2668
mpeg2enc: break statement unnecessary
...
Code flow never arrives to the break statements due to the goto's. So the
breaks are unnecessary.
https://bugzilla.gnome.org/show_bug.cgi?id=736942
2014-09-25 15:45:57 +01:00
Lihua Liu
22e09f19ed
curlsmtpsink: Email with multipart content-type should end with a final boundary
...
Add final boundary for each of the sending out emails from smtpsink.
https://bugzilla.gnome.org/show_bug.cgi?id=736134
2014-09-25 11:16:30 +03:00
Stefan Sauer
f8f2cca0e4
curl*sink: add more logging
2014-09-25 10:14:41 +02:00
Stefan Sauer
04d271dfd3
curlbasesink: add a debug function
...
If gstreamer is build with logging enabled, add a debug function and output
verbose messages to the log instead of stderr.
2014-09-25 08:05:50 +02:00
Stefan Sauer
8a8d3ac351
curlhttpsink: only add content-disposition header if a filename is set
...
The header is optional and therefore we better omit it if we don't have a filename.
2014-09-24 22:25:55 +02:00
Stefan Sauer
a80cde8cb6
curlbasesink: don't replace specific error messages with a generic one
...
Only set an error if we haven't set one already.
2014-09-24 22:25:55 +02:00
Stefan Sauer
2e51ba1219
curltlssink: swap check
...
Lets check for NULL first, as that is the default anyway.
2014-09-24 22:25:55 +02:00
Matthieu Bouron
22c7559152
dashdemux: mark first buffer as discont after restarting a download task
...
Mark first buffer as discont after restarting a download task, so
downstream can reset its state to properly handle the new fragment.
Related issue: https://bugzilla.gnome.org/show_bug.cgi?id=736318
https://bugzilla.gnome.org/show_bug.cgi?id=736319
2014-09-24 13:30:20 -03:00
Thiago Santos
2273c15f15
dashdemux: push a time segment when restarting streaming
...
This should inform demuxers/decoders downstream that the stream is
about to start from a new position and they should flush accordingly
https://bugzilla.gnome.org/show_bug.cgi?id=736319
2014-09-24 12:35:37 -03:00
Anuj Jaiswal
e4247f0a5a
mplex: break statement unnecessary
...
One more code flow issue where it never arrives to the break statement due to
the goto. So the break is unnecessary.
Plus two coding style fixes.
https://bugzilla.gnome.org/show_bug.cgi?id=736895
2014-09-24 14:45:20 +01:00
Matthew Waters
9f953f297f
glvideomixer: skip input frames with an alpha of 0
2014-09-24 14:31:19 +10:00
Matthew Waters
c44352b11f
gl: download whenever we have sysmem capsfeatures
...
Otherwise we could pass on a RGBA formatted buffer and downstream would
misinterpret that as some other video format.
Fixes pipelines of the form
gleffects ! tee ! xvimagesink
2014-09-24 13:16:30 +10:00
Sebastian Rasmussen
462d27e60a
gsettings: Fix typo in description
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=736933
2014-09-23 23:15:38 +03:00
Lubosz Sarnecki
b2398e3fd1
gltestsrc: add Mandelbrot fractal pattern.
...
https://bugzilla.gnome.org/show_bug.cgi?id=735131
2014-09-24 00:40:57 +10:00
Lubosz Sarnecki
3736f944b5
gltestsrc: implement snow pattern with GLSL.
...
https://bugzilla.gnome.org/show_bug.cgi?id=735131
2014-09-24 00:40:37 +10:00
Matthew Waters
5b8d7a443e
glupload: provide the output buffer that is rendered into
...
Allows callers to properly reference count the buffers used for
rendering.
Fixes a redraw race in glimagesink where the previous buffer
(the one used for redraw operations) is freed as soon as the next
buffer is uploaded.
1. glimagesink uploads in _prepare() to texture n
1.1 glupload holds buffer n
2. glimagesink _render()s texture n
3. glimagesink uploads texture n+1
3.1 glupload free previous buffer which deletes texture n
3.2 glupload holds buffer n+1
4. glwindow resize/expose
5. glimagesink redraws with texture n
The race is that the buffer n (the one used for redrawing) is freed as soon as
the buffer n+1 arrives. There could be any amount of time and number of
redraws between this event and when buffer n+1 is actually rendered and thus
replaces buffer n as the redraw source.
https://bugzilla.gnome.org/show_bug.cgi?id=736740
2014-09-21 21:36:49 +10:00
Sanjay NM
a1ae26acbd
gl: Removed unreachable break, unused variable
...
https://bugzilla.gnome.org/show_bug.cgi?id=736957
2014-09-19 21:48:14 +10:00
Philippe Normand
6d67b5263f
hlsdemux: lock client mutex before entering the retry_failover block
...
This is consistent with the case where the block execution is
triggered by the goto invoked after the current_variant update.
https://bugzilla.gnome.org/show_bug.cgi?id=736919
2014-09-18 23:28:15 +01:00
George Kiagiadakis
e289ab07c1
mssdemux: synchronize with the download loop thread to signal it to continue
...
If EOS or ERROR happens before the download loop thread has reached its
g_cond_wait() call, then the g_cond_signal doesn't have any effect and
the download loop thread stucks later.
https://bugzilla.gnome.org/show_bug.cgi?id=735663
2014-09-18 13:38:29 -03:00
George Kiagiadakis
f4546b64ea
hlsdemux: synchronize with the download loop thread to signal it to continue
...
If EOS or ERROR happens before the download loop thread has reached its
g_cond_wait() call, then the g_cond_signal doesn't have any effect and
the download loop thread stucks later.
https://bugzilla.gnome.org/show_bug.cgi?id=735663
2014-09-18 13:38:27 -03:00
George Kiagiadakis
55032ae5fe
dashdemux: synchronize with the download loop thread to signal it to continue
...
If EOS or ERROR happens before the download loop thread has reached its
g_cond_wait() call, then the g_cond_signal doesn't have any effect and
the download loop thread stucks later.
https://bugzilla.gnome.org/show_bug.cgi?id=735663
2014-09-18 13:38:25 -03:00
Thiago Santos
01ccac24fa
mssdemux: fix clearing of eos state in pads
...
The internal pad still keeps its EOS flag and event as it can be assigned
after the flush-start/stop pair is sent. The EOS is assigned from the streaming
thread so this is racy.
To be sure to clear it, it has to be done after setting the source to READY to
be sure that its streaming thread isn't running.
https://bugzilla.gnome.org/show_bug.cgi?id=736012
2014-09-18 12:14:30 -03:00
Thiago Santos
07b59c93c2
hlsdemux: fix clearing of eos state in pads
...
The internal pad still keeps its EOS flag and event as it can be assigned
after the flush-start/stop pair is sent. The EOS is assigned from the streaming
thread so this is racy.
To be sure to clear it, it has to be done after setting the source to READY to
be sure that its streaming thread isn't running.
https://bugzilla.gnome.org/show_bug.cgi?id=736012
2014-09-18 12:14:30 -03:00
Thiago Santos
24c99712a8
dashdemux: fix clearing of eos state in pads
...
The internal pad still keeps its EOS flag and event as it can be assigned
after the flush-start/stop pair is sent. The EOS is assigned from the streaming
thread so this is racy.
To be sure to clear it, it has to be done after setting the source to READY to
be sure that its streaming thread isn't running.
https://bugzilla.gnome.org/show_bug.cgi?id=736012
2014-09-18 12:14:30 -03:00
Anuj Jaiswal
8b180b85a2
faad: logical disjunction consecutive return, break unnecessary
...
https://bugzilla.gnome.org/show_bug.cgi?id=736790
2014-09-18 12:33:35 +03:00
Ognyan Tonchev
8b0030d044
waylandsink: do not leak buffer pool in error case
...
https://bugzilla.gnome.org/show_bug.cgi?id=736735
2014-09-17 09:43:58 +03:00
Ognyan Tonchev
66967bb203
gltestsrc: do not leak pool in error cases
...
https://bugzilla.gnome.org/show_bug.cgi?id=736730
2014-09-16 12:48:43 +03:00
Ognyan Tonchev
984bab0bd0
openni2src: do not leak pool
...
https://bugzilla.gnome.org/show_bug.cgi?id=736731
2014-09-16 12:48:25 +03:00
Ognyan Tonchev
31703f9ac3
glmixer: do not leak pool in error cases
...
https://bugzilla.gnome.org/show_bug.cgi?id=736729
2014-09-16 12:48:01 +03:00
Sebastian Dröge
6fc64ebf5d
webpdec: Remove unused variable
2014-09-16 11:24:37 +03:00
Vineeth T M
3480f16e72
webpdec: modify wrong packetized mode logic
...
packetized mode is being set when framerate is being set
which is not correct. Changing the same by checking the
input segement format. If input segment is in TIME it is
Packetized, and if it is in BYTES it is not.
https://bugzilla.gnome.org/show_bug.cgi?id=736252
2014-09-16 11:24:18 +03:00
Sebastian Dröge
775c5600c9
hlsdemux: Also refetch the playlist after the first fragment failure
...
Previously we only refetched the playlist if downloading a fragment
has failed once. We should also do that if it failed a second or third time,
chances are that the playlist was updated now and contains new URIs.
2014-09-15 13:33:45 +03:00
Sebastian Dröge
1ce7d89868
dash: Actually retry 3 times as advertised instead of 2
2014-09-15 11:59:49 +03:00
Sebastian Dröge
d4a53a16dd
hls: Actually retry 3 times as advertised instead of 2
2014-09-15 11:59:46 +03:00
Matthieu Bouron
bce21e7398
mssdemux: improve position detection when a download restart
...
Query other src pads before falling back to the position of the last
known pushed segment (which can be far ahead in time).
https://bugzilla.gnome.org/show_bug.cgi?id=736421
2014-09-11 18:25:19 -03:00
Matthieu Bouron
4ed7c7919a
dashdemux: improve position detection when a download restart
...
Query other src pads before falling back to the position of the last
known pushed segment (which can be far ahead in time).
https://bugzilla.gnome.org/show_bug.cgi?id=736421
2014-09-11 18:25:19 -03:00
Tim-Philipp Müller
7b8bd35d18
Fix up one-element lists in template caps
2014-09-10 17:24:39 +01:00
Nicola Murino
3a0a4a8d70
facedetect: Add new property min-stddev
...
face detection will be performed only if image standard deviation is
greater that min-stddev. Default min-stddev is 0 for backward
compatibility. This property will avoid to perform face detection on
images with little changes improving cpu usage and reducing false
positives
https://bugzilla.gnome.org/show_bug.cgi?id=730510
2014-09-05 10:38:32 +03:00
Lubosz Sarnecki
f1b026c480
gltransformation: fix issues and expose mvp matrix
...
* aspect should not be 0 on init
* rename fovy to fov
* add mvp to properties as boxed graphene type
* fix transformation order. scale first
* clear color with 1.0 alpha
https://bugzilla.gnome.org/show_bug.cgi?id=734223
2014-09-05 09:39:34 +10:00
Sebastian Dröge
bda4eae1cc
mssdemux: Don't send flush events to deactivated pads
...
https://bugzilla.gnome.org/show_bug.cgi?id=736012
2014-09-04 18:21:38 +03:00
Sebastian Dröge
51a9e13bf2
dashdemux: Don't send flush events to deactivated pads
...
https://bugzilla.gnome.org/show_bug.cgi?id=736012
2014-09-04 18:21:25 +03:00
Sebastian Dröge
f6c6d9c280
hlsdemux: Don't send flush events to deactivated pads
...
https://bugzilla.gnome.org/show_bug.cgi?id=736012
2014-09-04 18:20:58 +03:00
Sebastian Dröge
46b0310acd
hlsdemux: Properly assign offsets to the files if we accumulate them instead of reading from the playlist
2014-09-04 17:49:23 +03:00
Tim-Philipp Müller
cd325defca
assrender: remove code that can't be reached
...
If this code could ever be reached, it would leak
memory (CID 1231979), but gst_caps_get_features()
never returns NULL, so that can't happen.
2014-08-29 19:26:40 +01:00
Sebastian Dröge
e4b084acd9
glimagesink: Add missing break to switch
...
CID 1232801
2014-08-28 16:42:30 +03:00
Thomas Bluemel
04ca723461
hlsdemux: Support OpenSSL for AES decryption of HLS fragments
...
https://bugzilla.gnome.org//show_bug.cgi?id=735248
2014-08-28 10:34:55 +03:00
Tim-Philipp Müller
8a7079dda9
sndfile: don't decode formats that are better handled by other elements
...
In particular: flac, ogg, pcm, au, aiff, wav.
https://bugzilla.gnome.org/show_bug.cgi?id=722316
2014-08-25 12:22:44 +01:00
Youness Alaoui
3c80396424
srtpdec: Add support for RTP/RTCP mixing if data arrives on RTCP pad
...
https://bugzilla.gnome.org/show_bug.cgi?id=734321
2014-08-21 18:45:19 -04:00
Tim-Philipp Müller
334a71506c
dashdemux: fix abort in error code path with newer glib
...
Don't forget to unlock mpd client again when erroring out.
Fixes abort when g_mutex_clear() is called on a locked mutex.
2014-08-21 16:25:55 +01:00
Lubosz Sarnecki
ddaaff3376
glimagesink: expose context
...
* expose context in draw / reshape callbacks
* add context property
https://bugzilla.gnome.org/show_bug.cgi?id=734482
2014-08-21 17:38:57 +10:00
Thiago Santos
1cabb3b5a5
dashdemux: unref pad reference when removing internal source in error
...
Avoids leaking the pad in error situations
2014-08-19 17:17:33 -03:00
Thiago Santos
4afa05e567
dashdemux: read language from ContentComponent node as a fallback
...
If the language is not specified in the AdaptationSet, use the ContentComponent
node to get it. We only get it if there is only a single ContentComponent as
it doesn't seem clear on what to do if there are multiple entries
https://bugzilla.gnome.org/show_bug.cgi?id=732237
2014-08-19 16:02:52 -03:00
Matthieu Bouron
82fdb3aefc
dashdemux: push language code tag
...
Language code tag is retrieved from the AdaptationSet language
property.
https://bugzilla.gnome.org/show_bug.cgi?id=732237
2014-08-19 15:34:01 -03:00
Matthew Waters
30ddb384ab
glmixer: unref the GstGLUpload in the pad if freed while running
...
Dynamic pipelines that get and release the sink pads will finalize
the pad without going through gst_gl_mixer_stop() which is where the
upload object is usually freed. Don't leak objects in such case.
2014-08-19 17:01:36 +10:00
Wang Xin-yu (王昕宇)
98152017b7
glvideomixer: avoid gl resource race condition between different thread
...
https://bugzilla.gnome.org/show_bug.cgi?id=734830
2014-08-19 17:00:58 +10:00
Matthew Waters
0b0c116327
glvideomixer: don't clobber unnecessary GstVideoInfo fields
...
otherwise we might clobber other important fields such as the frame rate.
2014-08-19 14:44:29 +10:00
Matthew Waters
510a016c88
glvideomixer: get the attribute from the correct shader
2014-08-19 14:43:42 +10:00
Matthew Waters
c6706adfcc
glimagesink: unref the window on navigation event
...
plugs a memory leak
2014-08-19 14:24:02 +10:00
Thibault Saunier
16201cec34
hlsdemux: Do not switch playlist on trick modes
...
Instead always use the low bandwith playlist making things go smoother
as the current heuristic is rather set for normal playback, and
currently it does not behave properly.
https://bugzilla.gnome.org/show_bug.cgi?id=734445
2014-08-13 17:49:12 +02:00
Thibault Saunier
123953d429
hlsdemux: No need to have a I-Frame list to do trick modes
...
It just works cleanly without any index and there is no real reason for
that limitation. Also, there are very few stream with that feature.
https://bugzilla.gnome.org/show_bug.cgi?id=734445
2014-08-13 17:49:05 +02:00
Valentin PONS
03b70aecec
facedetect: Use NULL to disable eyes/nose/mouth
...
Without printing a warning about it
https://bugzilla.gnome.org/show_bug.cgi?id=734623
2014-08-13 12:31:17 -03:00
Thiago Santos
7863be66ed
assrender: save a few ref/unref pairs
...
The event/query functions already have a reference to the element, avoid
ref/unref in the functions handling caps queries and events.
2014-08-11 12:32:04 -03:00
Thiago Santos
0b67f872dc
assrender: remove obsolete fixme
2014-08-11 12:31:17 -03:00
Thiago Santos
33c2372ae3
assrender: improve negotiation
...
Check if downstream supports overlay meta, if possible use it and
if not fallback to no-overlay caps
https://bugzilla.gnome.org/show_bug.cgi?id=733916
2014-08-11 12:22:44 -03:00
Thiago Santos
7895d88369
assrender: always intersect with the filter caps
...
Avoids returning values that peers can't use
https://bugzilla.gnome.org/show_bug.cgi?id=733916
2014-08-11 12:21:28 -03:00