Sebastian Dröge
008edeadae
hlsdemux: Fix compiler warnings
2014-06-06 13:04:04 +03:00
Thomas Bluemel
babd8969f2
hlsdemux: Reload the variant playlist if refreshing a playlist or downloading a fragment fails
...
This can happen if the playlists have moved due to the variant playlist
now being redirected to another target. This currently only works as long
as the referenced playlists don't change in relation to the variant
playlist, and the new location is purely due to a new path triggered by a
new redirection target of the variant playlist, or a new redirection
target of the playlist itself.
https://bugzilla.gnome.org/show_bug.cgi?id=731164
2014-06-06 13:02:47 +03:00
Olivier Crête
e259557c5a
schroenc: Use an arbitrary framerate if none if given
...
The schro encoder always requires a framerate, but some source material,
such as RTP doesn't have a fixed one, so just fake it.
https://bugzilla.gnome.org/show_bug.cgi?id=729054
2014-06-05 16:46:22 -04:00
Edward Hervey
5300e59f09
rtmp: proxy logging from librtmp
...
Helps with debugging various librtmp issues
2014-06-05 09:41:31 +02:00
Edward Hervey
3cb5bc8868
rtmpsrc: Fix position querying
...
It's the position we're querying, not the duration :)
2014-06-05 09:41:31 +02:00
Aleix Conchillo Flaqué
da30669589
srtp: add support for rollover counters and replay protection window size
...
We add a new signal, get-rollover-counter, to the SRTP encoder. Given a
ssrc the signal will return the currently internal SRTP rollover counter
for the given stream.
For the SRTP decoder we have a new SRTP caps parameter "roc" that needs
to be set when a new SRTP stream is created for a given SSRC.
https://bugzilla.gnome.org/show_bug.cgi?id=726861
2014-06-03 16:18:25 -04:00
Matthieu Bouron
dac4816823
glimagesink: improve state change debug message
2014-06-03 14:08:34 +10:00
Tim-Philipp Müller
0eed275a51
mpeg2enc: increase max. allowed value for bitrate property
...
For DVD the limit is around 10Mbit/s, but for e.g. ATSC
it could be much higher.
2014-06-01 10:47:17 +01:00
Nicola Murino
845d33098a
motioncells: improve logging
...
https://bugzilla.gnome.org/show_bug.cgi?id=730141
2014-05-30 16:58:59 -03:00
Nicola Murino
f48358636b
motioncells: make framedrop work at 30 fps too
...
https://bugzilla.gnome.org/show_bug.cgi?id=730141
2014-05-30 16:58:59 -03:00
Nicola Murino
b5cefffb9f
motioncells: use standard macro for boolean
...
https://bugzilla.gnome.org/show_bug.cgi?id=730141
2014-05-30 16:58:59 -03:00
Matthew Waters
5eb4934750
glimagesink: unref the old buffer outside the lock
...
it could very well deadlock
https://bugzilla.gnome.org/show_bug.cgi?id=723529
2014-05-30 11:46:00 +10:00
Matthew Waters
1cb7e22b98
Revert "[880/906] glimagesink: remove unused stored_buffer field"
...
This reverts commit af3a68db7d
.
Conflicts:
ext/gl/gstglimagesink.c
https://bugzilla.gnome.org/show_bug.cgi?id=723529
2014-05-30 11:35:04 +10:00
Matthew Waters
da35876537
glfeature: remove GST_GL_API_GLES3
...
instead check the gl version using gst_gl_context_check_gl_version()
2014-05-30 10:29:37 +10:00
Sebastian Dröge
546feaef5c
mssdemux: Always use the redirect target to resolve relative URIs
...
But redownload the playlists from the original URI if it's not
a permanent redirect.
2014-05-28 12:56:24 +02:00
Sebastian Dröge
ae679506b1
dashdemux: Always use the redirect target to resolve relative URIs
...
But redownload the playlists from the original URI if it's not
a permanent redirect.
2014-05-28 12:47:51 +02:00
Sebastian Dröge
9cb3d745db
hlsdemux: Don't set base URI if there was no redirect
2014-05-28 12:47:22 +02:00
Damian Ziobro
5ca7684b7d
hlsdemux: Make parsing of "-quoted key URIs more resilient
...
https://bugzilla.gnome.org/show_bug.cgi?id=730830
2014-05-28 10:58:21 +02:00
Sebastian Dröge
2f39a3d711
hlsdemux: Always use the redirect target to resolve relative URIs
...
But redownload the playlists from the original URI if it's not
a permanent redirect.
2014-05-28 10:19:40 +02:00
Matthew Waters
6ce3b82efe
gl/upload: add GstGLUploadMeta object
...
That simply deals with the provider aspect of GstVideoGLTextureUploadMeta.
2014-05-28 14:41:35 +10:00
Julien Isorce
6c92286c6e
glimagesink: make it actually honor show-preroll-frame property
...
https://bugzilla.gnome.org/show_bug.cgi?id=730802
2014-05-27 11:28:27 +01:00
Miguel París Díaz
93ba600ba9
opusenc: Use aux vars to minimize critical region
...
This avoid dead lock between gst_audio_encoder_finish_frame() and
gst_opus_enc_get_property().
Also, now bytes var is set into protected section.
https://bugzilla.gnome.org/show_bug.cgi?id=729882
2014-05-26 09:23:42 +02:00
Damian Ziobro
5b547a553d
hlsdemux: Fix storing of the IV based on the media sequence number
...
https://bugzilla.gnome.org/show_bug.cgi?id=730574
2014-05-22 13:27:37 +02:00
L. Sorin
5edf0add57
curlsshsink: post error on bus in element, not transfer thread
...
Looks like this file was missed in Bug 728960:
https://bugzilla.gnome.org/show_bug.cgi?id=728960
https://bugzilla.gnome.org/show_bug.cgi?id=730459
2014-05-21 08:36:51 +02:00
Matthew Waters
37c08c58c5
gl/eglimage: add eglimage context feature
...
Allows us to selectively use EGLImages only when available
https://bugzilla.gnome.org/show_bug.cgi?id=728234
2014-05-20 23:37:52 +10:00
L. Sorin
9c1e66302d
curlsftpsink: authenticate remote host via public key fingerprint
...
Expose one more libcurl option: CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.
This allows authenticating the server by the MD5 fingerprint of
the server's public key.
https://bugzilla.gnome.org/show_bug.cgi?id=723167
2014-05-20 08:58:08 +02:00
Sebastian Dröge
8070b4e043
glimagesink: Check if context creation failed before trying to use it
...
Otherwise we will cause assertions everywhere by passing NULL to functions
and eventually crash when dereferencing a NULL pointer.
https://bugzilla.gnome.org/show_bug.cgi?id=730069
2014-05-19 12:25:51 +02:00
Sebastian Dröge
cbc37f389f
rsvgdec: Unref handle and output state on error paths
...
CID 1214604
2014-05-19 09:12:14 +02:00
Nicola Murino
bd34e62872
motioncells: fix memleak
...
Check gst_buffer_map return and remember to unmap and free memory before
returning
https://bugzilla.gnome.org/show_bug.cgi?id=730133
2014-05-14 20:15:05 -03:00
Matthew Waters
ce561913de
gl/download: update to be similar to the glupload semantics
2014-05-14 11:38:01 +10:00
Thiago Santos
a99175a31a
hlssink: do not leak playlist object
...
In finalize, also release the playlist
2014-05-13 16:29:46 -03:00
Thiago Santos
16d969b945
dashdemux: mpdparser: properly unref gstdatetime
...
Avoid leaking the GstDateTime instances when summing dates
CID #1212143
2014-05-13 11:22:58 -03:00
Thiago Santos
288e8d5c0e
dashdemux: mpdparser: avoid double free of segment timeline node
...
The parsing function already frees the old value (if any), avoid a double
free by not freeing it before calling the function without setting the
pointer to NULL
Coverity ID: 1212178
2014-05-13 10:45:29 -03:00
Thiago Santos
64bea0252b
dashdemux: mpdparser: avoid double free
...
The _parse_url function already frees the previous pointer, avoid
freeing it before without setting to null or we have a double free.
Coverity ID: 1212181
Coverity ID: 1212180
Coverity ID: 1212179
2014-05-13 10:13:37 -03:00
Edward Hervey
8299c5b5b4
schrodec: Use pool configuration
...
It was leaking the config, but also not using it...
CID #1212155
2014-05-13 14:21:15 +02:00
Edward Hervey
adecec882a
rsvg: Don't leak GstVideoCodecState
...
And avoid useless call to _get_output_state (set_output_state() already
returns it).
CID #1212160
CID #1212161
2014-05-13 14:15:24 +02:00
Edward Hervey
651a4ae2e7
dash: Don't leak GstActiveStream
...
CID #1212142
2014-05-13 13:52:48 +02:00
Thiago Santos
ce7319c62d
mssdemux: avoid deadlocking when erroring
...
It might get stuck when posting the message while
a reconfigure event is being pushed upstream
2014-05-12 18:28:45 -03:00
Thiago Santos
a1f87d0b4f
mssdemux: fix caps leak
2014-05-12 18:08:12 -03:00
Thiago Santos
6b8448c245
mssdemux: handle error messages from internal source
...
set up a bin message handler to get notified of error messages from
the internal source element
2014-05-12 18:08:12 -03:00
Thiago Santos
b627d7df83
mssdemux: Always accept the latency configure event
...
Upstream or internal elements are irrelevant and we should
always succeed.
2014-05-12 16:27:37 -03:00
Thiago Santos
b54367e211
mssdemux: reenable segment tracking for streams
...
Store the latest pushed timestamp so that mssdemux streams know
where they are in time
2014-05-12 16:27:37 -03:00
Thiago Santos
45d5859131
mssdemux: deprecate unused max-queue-size-buffers
...
There is no internal storage of buffers anymore
2014-05-12 16:27:37 -03:00
Thiago Santos
99a2e425de
mssdemux: measure bitrate similarly to hlsdemux
...
new bitrate = (old bitrate + (last fragment bitrate * 3)) / 4
2014-05-12 16:27:37 -03:00
Thiago Santos
90577c3ae7
mssdemux: remove uridownloader in favor of internal source
...
Refactor mssdemux to remove uridownloader to use an internal
source element which reduces startup latency and provides smaller
buffers for better buffering management downstream
2014-05-12 16:27:37 -03:00
Thiago Santos
4c59f7df4c
dashdemux: initialize the mutex and cond for fragment download
2014-05-12 16:27:37 -03:00
Thiago Santos
21b1d37023
dashdemux: remove unused stream uridownloader
...
The uridownloader for the stream fragments isn't used anymore.
2014-05-11 15:26:45 -03:00
Sebastian Dröge
d578cbf7d7
assrender: Do not try to add a feature to a caps features ANY
...
It does not makes sense and asserts
Based on 7f9aac386f
from gst-plugins-base.
2014-05-11 07:56:50 +02:00
Tim-Philipp Müller
ab783acd7f
rtmpsrc: error out if we get EOS immediately without any data
...
It's not really right to just go EOS as if nothing was wrong.
2014-05-10 12:57:29 +01:00
Sebastian Dröge
951bb53057
hls: Remove invalid free
...
data does not have to be freed at all here, it's a pointer to
an arbitrary position inside the current line. Also don't reuse
the data variable for anything else, that will cause crashes
in playlists that have the I-frame playlist URI followed by
other attributes.
CID 1212127
2014-05-09 15:30:00 +02:00
Julien Isorce
9a917fb8a9
gleffects: use gl_vtable
2014-05-08 16:08:08 +01:00
Matthew Waters
a49a371710
gl/upload: implement lazy init
...
Rename init_format to set_format
2014-05-08 15:33:43 +10:00
Matthew Waters
a27589629d
gl: advertise GstGLMemory usage in the caps as capsfeatures
...
https://bugzilla.gnome.org/show_bug.cgi?id=729658
2014-05-07 21:48:57 +10:00
Thiago Santos
a5b3ba09b8
dashdemux: deprecate max-buffering-time property
...
It is not used as dashdemux doesn't have a internal buffer
for fragments anymore
2014-05-07 01:00:50 -03:00
Thiago Santos
e9638fe3fd
dashdemux: removing old unused code
...
The 'catch up mode' isn't needed anymore since dashdemux
is downloading and pushing from the same thread
2014-05-07 01:00:49 -03:00
Thiago Santos
5df2edf80c
dashdemux: remember to set starting fragment to new fragments
2014-05-07 01:00:49 -03:00
Thiago Santos
733c7c0f16
dashdemux: handle a few more error cases
...
related to missing plugins, bad URI and a lockup on dealing with
errors from the source.
2014-05-07 01:00:49 -03:00
Thiago Santos
173c353716
dashdemux: Only set timestamp to the first buffer of fragments
...
Setting it to the other parts of the fragment is slightly wrong
and misleading as it isn't accurate enough.
2014-05-07 01:00:49 -03:00
Thiago Santos
f09dd7e7a5
dashdemux: handle error messages from the sources
...
Set up a message handling function to be able to catch errors
from the source element and signal the cond to allow the download
loop to retry the download.
2014-05-07 01:00:49 -03:00
Thiago Santos
15952dcd8e
dashdemux: check for errors between downloads
...
To abort earlier in case of failures
2014-05-07 01:00:49 -03:00
Thiago Santos
b5998a4c3b
dashdemux: Always accept the latency configure event
...
Upstream or internal elements are irrelevant and we should
always succeed.
2014-05-07 01:00:49 -03:00
Thiago Santos
d6671e73a6
dashdemux: measure download rate just like hlsdemux
...
new bitrate = (old bitrate + (last fragment bitrate * 3)) / 4
2014-05-07 01:00:49 -03:00
Thiago Santos
bed3d66605
dashdemux: remove uridownloader from fragments download
...
Instead, use a source element linked to a ghostpad to provide
smaller buffers and more granular control for downstream
buffering elements while also reducing startup latency
2014-05-07 01:00:49 -03:00
Matthew Waters
6f4fd70867
gl/sink: make sure we always initialize the upload object
...
https://bugzilla.gnome.org/show_bug.cgi?id=729542
2014-05-07 09:12:23 +10:00
Thiago Santos
7dfd308e8c
hlsdemux: fix internal source event leaks
2014-05-06 19:24:55 -03:00
Olivier Crête
0566be384d
srtpdec: Don't reset stream if the key hasn't changed
2014-05-06 00:49:59 -04:00
Olivier Crête
b2a6490626
srtpdec: Add "remove-key" action signal to remove a single key
...
Removing all the keys can be a problem as it also resets the various
counters, so instead add an option to remove a single key.
2014-05-06 00:49:59 -04:00
Olivier Crête
53a4e05261
srtpenc: Use %u in templates to match rtpbin
2014-05-06 00:49:22 -04:00
Olivier Crête
8c9b1ade36
srtpdec: Remove unused field
2014-05-06 00:49:15 -04:00
Thiago Santos
b891bd04d5
hlsdemux: Only set the segment position if there is a timestamp
...
Only the first buffer of a fragment has its timestamp set, so only
update the segment.position when pushing those buffers to avoid
having GST_CLOCK_TIME_NONE set to the position
https://bugzilla.gnome.org/show_bug.cgi?id=729364
2014-05-05 11:35:35 -03:00
Sebastian Dröge
0ce2b0632e
hlsdemux: Set Cache-Control header according to the caching requirements of the playlist
2014-05-05 09:46:06 +02:00
Sebastian Dröge
3c2fe80ab6
mssdemux: Update for uri downloader API changes
2014-05-05 09:41:51 +02:00
Sebastian Dröge
bb8227e279
dashdemux: Update for uri downloader API changes
2014-05-05 09:41:51 +02:00
Sebastian Dröge
816000f726
hls: Store allowcache playlist field in a boolean
2014-05-05 09:41:51 +02:00
Olivier Crête
5d3ce2c611
srtpenc: Add config for the replay window size
2014-05-02 17:27:56 -04:00
Olivier Crête
b51344651e
srtpenc: Remove unused object members
2014-05-02 17:25:35 -04:00
Olivier Crête
820200e20e
srtpenc: Remove useless structure
...
Remove now useless structure
2014-05-02 17:19:51 -04:00
Olivier Crête
2906fae146
srtpenc: Remove ssrc parsing from stream
...
It's no longer used
2014-05-02 17:19:51 -04:00
Olivier Crête
98f8bf46df
srtpenc: Remove SSRC from signal, it's meaningless
2014-05-02 17:19:51 -04:00
Olivier Crête
5a38ae5a83
srtpenc: Set the SRTP key as a shared key for all SSRCs
...
This is already how it was used.
2014-05-02 17:19:51 -04:00
Sebastian Dröge
1aacd0a963
hlsdemux: Update for URI downloader API changes
...
And make sure to set refresh=TRUE when updating the playlist.
2014-05-02 10:44:41 +02:00
Sebastian Dröge
5d34b071d9
mssdemux: Update for URI downloader API changes
...
And include the manifest file as referer in requests, and make sure
to set refresh=TRUE when updating the manifest.
2014-05-02 10:43:06 +02:00
Sebastian Dröge
f910ffb637
dashdemux: Update for URI downloader API changes
...
And include the MPD file as referer in requests, and make sure
to set refresh=TRUE when updating the MPD.
2014-05-02 10:39:22 +02:00
Matthew Waters
dfc6745143
gl: use the bufferpool's upload when available
...
Avoids duplicating GL resources
https://bugzilla.gnome.org/show_bug.cgi?id=728872
2014-05-02 15:59:28 +10:00
Olivier Crête
775e998dab
srtpdec: Only clear streams if they have been created
2014-05-01 19:16:35 -04:00
Olivier Crête
494b8e110d
srtpdec: Use object debug
2014-05-01 19:10:43 -04:00
Sebastian Dröge
9c7da93b9d
hlsdemux: Always succeed the LATENCY event
...
Upstream and our internal source is irrelevant for the latency
and we don't want the LATENCY event to ever fail.
2014-05-01 16:18:37 +02:00
Sebastian Dröge
126891e9a5
hlsdemux: Reset the last flow return before restarting the internal source
...
Otherwise we will never recover from previous errors, and especially
will never start again after a flushing seek if downstream returned
GST_FLOW_FLUSHING to us.
2014-05-01 16:18:37 +02:00
Sebastian Dröge
0d5dcba778
hlsdemux: Only set PTS on the first buffer of a fragment instead of setting the same on all of them
2014-05-01 16:18:37 +02:00
Thiago Santos
aea14053d1
hlsdemux: Always flush the internal proxy pads before downloading
...
hlsdemux can't rely on the source to push flushes on a seek on ready
as that might not make sense. So always resort to flushing the
internal proxy pads by pushing flush events from the source's src pad.
Also as the seeking is not required anymore, only seek if there is
really a byte range to be used. And store a ref to the source's
src pad to avoid doing get_static_pad for every fragment.
2014-05-01 16:18:16 +02:00
Matthew Waters
5681f78362
glcolorscale: fix operation with dual GL, GLES2 libgstgl
2014-05-01 14:11:00 +10:00
Vincent Penquerc'h
d8fb89e4e6
kate: avoid read buffer overflow in crafted stream
...
Coverity 1208777
2014-04-30 18:16:11 +01:00
Julien Isorce
56cca649d4
glcolorscale: use a shader on GLESv2
...
Otherwise you only see black frames
Fix https://bugzilla.gnome.org/show_bug.cgi?id=728947
2014-04-30 17:33:14 +01:00
Julien Isorce
a20f17e29c
glimagesink: use new helper function to avoid duplicating default shader text
2014-04-30 15:35:49 +01:00
Julien Isorce
f4626ef619
gleffects: use new helper functions to avoid duplicating the same vertex shader text
...
And also use the default fragment shader text for the identity effect
2014-04-30 15:35:49 +01:00
Sebastian Dröge
fc38c22f1b
hlsdemux: Only unref pending buffer if there is one
2014-04-30 10:14:12 +02:00
Thiago Santos
940576244c
hlsdemux: Do not push last buffer after error
...
In decryption scenario, a buffer is always stored to be sent later
to wait for more data or EOS to be able to strip the final bytes
if requested. In case an error hapenned this buffer can be ignored
and not pushed downstream.
2014-04-29 18:49:15 -03:00
Thiago Santos
bb8887baa7
hlsdemux: flush the adapter in the end of a fragment
...
In case of error there might be some data left in the
adapter when EOS is received. Clear the adapter to be
able to restart again later if requested.
2014-04-29 18:49:15 -03:00
Thiago Santos
4ab1d9f21f
hlsdemux: handle more error cases
...
Handle some more error cases:
1) When the source element fails to go to ready
2) When decryption fails
3) When there is no source to handle a specific URI
4) When the URI is invalid
2014-04-29 18:49:15 -03:00
Thiago Santos
4431388cab
hlsdemux: handle errors from internal source
...
Set up a message handling function to catch errors from the internal
source and store the last return code to identify error situations
when returning from a fragment download.
Also moves the duration increase to after the download when we
know if it was successful or not
2014-04-29 18:49:15 -03:00