Youness Alaoui
277a7d05b2
hlsdemux: If paused, do not cache fragments until out of memory error!
...
We should stop the update thread in PAUSED state and avoid fetching
new fragments when the queue is not empty. The queue should always be
empty since we push data into a queue. Also, in totem, if we seek and
pause the stream while it's buffering, then the state will stay playing
for some reason, so it's best not to continue fetching fragments forever.
2011-08-31 12:11:20 +02:00
Youness Alaoui
917708df82
hlsdemux: start/stop update thread and keep track of status
2011-08-31 12:10:32 +02:00
Youness Alaoui
4724b9a5b6
hlsdemux: Post duration message when we parse the playlist
2011-08-31 12:09:53 +02:00
Youness Alaoui
f93939b46c
hlsdemux: Send a flush-stop when switching pads. Fixes A->A/V sync issue.
...
This is to ensure that we reset the accumulate segment on the sinks
so if we start with audio only then switch to audio+video, then both
sinks will have the same segments and will be synchronized.
2011-08-31 12:09:38 +02:00
Youness Alaoui
ed5a5cc139
hlsdemux: seems there was a typo, free the adapter if it contains data, not if already empty
2011-08-30 16:18:30 +02:00
Youness Alaoui
4a6d888961
hlsdemux: oups, we need to empty the queue after freeing its content
2011-08-30 16:18:08 +02:00
Youness Alaoui
59c61209cf
tsdemux: Need to flush all streams when we receive a flush-start
2011-08-30 16:17:47 +02:00
Youness Alaoui
cb30cd242c
hlsdemux: do not broadcast the fetcher_cond on bus error if we're cancelled
...
If we cancel the fetch and call the stop_fetcher, which holds the lock,
when it sets the fetcher's state to NULL, it might send an error
on the bus. In that case, we must ignore it, otherwise it will try
to take the lock and will block forever.
2011-08-30 16:16:54 +02:00
Jonas Larsson
fc0fe37b10
hlsdemux: Split playslist on \r\n not just \n
2011-08-30 16:16:07 +02:00
Youness Alaoui
6e9eeb7678
hlsdemux: Do not succeed a download if the fetcher had an error
2011-08-30 16:15:41 +02:00
Youness Alaoui
e22c300be2
hlsdemux: Rename functions that need to be called with a locked mutex
2011-08-30 16:15:28 +02:00
Youness Alaoui
50d0468241
hlsdemux: We must signal the fetcher_cond while holding its lock
2011-08-30 16:15:03 +02:00
Youness Alaoui
3054355dc1
hlsdemux: We do not need to set the current playlist to the main one
...
When caching fragments, if we set the current playlist to main, then
it will always think it's a live stream (no endlist in it) so it will
force the redownload of the main playlist after every seek, which is
unnecessary. Also, it causes a race condition where a seek migh happen
during that redownload, and we'll think we're trying to seek a live pipeline.
2011-08-30 16:14:30 +02:00
Jan Schmidt
8fbf3a3129
soundtouch: Handling incoming rate when requested.
...
Absorb inbound segments with rate != 1.0 and output a segment with
rate taken from the new output-rate property, adjusting the segment
applied_rate, stream duration and timestamps as necessary to
compensate
2011-08-30 17:49:29 +10:00
Nicola Murino
436620fff9
fix valgrind warning about Conditional jump or move depends on uninitialised value(s)
2011-08-26 15:54:19 +02:00
Nicola Murino
71a2a1be8e
Move m_pprevFrame free just before the clone of the latest frame for readability
2011-08-26 15:54:19 +02:00
Thiago Santos
5ae630489c
camerabin2: Make viewfinder's queue a thread limit only
...
Reduce the viewfinder queue limits to only allow it to store
one buffer, preventing the queue from holding old buffers for
too long. This also avoids showing slightly outdated frames on
the viewfinder when the source has already produced new ones
and improves the buffer recycling rate, important for sources
that use bufferpools.
2011-08-26 09:43:14 -03:00
Vincent Penquerc'h
f3cb4439cf
basevideoencoder: fix element leak
...
and this concludes an hour of yelling at the bloody test failing,
only to track down the problem not being in the test.
https://bugzilla.gnome.org/show_bug.cgi?id=657368
2011-08-26 10:25:46 +02:00
Youness Alaoui
e380fbb019
tsdemux: In push mode, do not start pull loop if upstream seek fails
2011-08-26 09:51:46 +02:00
Youness Alaoui
108493ee51
hlsdemux: do not make the update_thread joinable
2011-08-26 09:51:46 +02:00
Youness Alaoui
8c04ea47d2
hlsdemux: Ensure the task is paused in case of cache error
2011-08-26 09:51:46 +02:00
Youness Alaoui
46ac6a2589
hlsdemux: stop the threads in the proper order
...
first pause the task, then stop all fetchers, then stop the update thread
then pause the task again, since it might have been restarted by
another thread in the meantime
2011-08-26 09:51:46 +02:00
Youness Alaoui
015d1e11e2
hlsdemux: do not post an error if we seek/cancel during caching of fragments
2011-08-26 09:51:46 +02:00
Youness Alaoui
d69297a23c
hlsdemux: if we're canceling a fetcher, we must stop its thread
2011-08-26 09:51:46 +02:00
Youness Alaoui
42401da686
hlsdemux: lock the update_thread mutex before stopping it
2011-08-26 09:51:46 +02:00
Youness Alaoui
39657fa52f
hlsdemux: lock the fetcher mutex before stopping it
2011-08-26 09:51:45 +02:00
Youness Alaoui
e1a0bdcdf5
hlsdemux: do not allow two fetchers to run simultanously
2011-08-26 09:51:45 +02:00
Youness Alaoui
adcfcabb14
hlsdemux: Stop the streaming task on PAUSED_TO_READY state change
2011-08-26 09:51:45 +02:00
Vincent Penquerc'h
60442079f3
tests: make camerabin2 test build
...
https://bugzilla.gnome.org/show_bug.cgi?id=657363
2011-08-25 16:46:58 -03:00
Olivier Crête
1fdae52753
dtmf: Add more debug
2011-08-24 12:24:18 -04:00
Olivier Crête
4167697c0e
dtmf: Max event type is 15
2011-08-24 12:24:18 -04:00
Olivier Crête
e8268053c2
dtmfsrc: Align DTMF sound buffers with last-stop from event
...
Also make sure the timestamps never go backwards
2011-08-24 12:24:18 -04:00
Olivier Crête
2c7257481a
rtpdtmfsrc: Correctly recognize the end of a buffer
2011-08-24 12:24:18 -04:00
Olivier Crête
7c55ff3023
rtpdtmfsrc: Make sure rtpdtmfsrc timestamps don't overlap
2011-08-24 12:24:17 -04:00
Olivier Crête
e6c431a533
rtpdtmfsrc: Put the inter digit interval at the end, not at the start
...
The reason is to let rtpdtmfmux drop buffers during the inter digit interval,
this way, there will be more silence around the DTMF tones so IVFs will have
a better chance recognizing them.
2011-08-24 12:24:17 -04:00
Olivier Crête
7837cc25fb
rtpdtmfsrc: Start at the last_stop from the start event if there was one
...
The goal is to try to not have a GAP between the audio and the DTMF
2011-08-24 12:24:17 -04:00
Olivier Crête
859b8ebfc9
rtpdtmfmux: Add last-stop to dtmf-event upstream events
...
Add the running time of the last outputted buffer to the
upstream "dtmf-event" events so that the dtmf source does not
leave a gap.
2011-08-24 12:24:17 -04:00
Olivier Crête
38aaf7cbab
rtpdtmfsrc: Respect ptime from the caps
...
Respect the ptime from the caps for the DTMF packets
2011-08-24 12:24:17 -04:00
Olivier Crête
4f97524376
rtpdtmfsrc: Just error out if there is no clock
2011-08-24 12:24:17 -04:00
Tim-Philipp Müller
dc3db053b5
kate: make gst_kate_util_is_utf8_string() inline to fix compiler warning with older libkate versions
...
gstkateutil.c:230:1: error: 'gst_kate_util_is_utf8_string' defined but not used
2011-08-24 16:54:31 +01:00
Vincent Penquerc'h
04f7876f94
rsndvd: ensure metadata is writable when writing to it
...
https://bugzilla.gnome.org/show_bug.cgi?id=657250
2011-08-24 16:37:30 +01:00
Sebastian Dröge
c86aba3469
tsdemux: Use FALSE instead of 0 for bool parameter
2011-08-24 09:35:18 +02:00
Youness Alaoui
744101a417
tsdemux: Need to send a newsegment after a seek
2011-08-24 08:12:29 +02:00
Youness Alaoui
a3fc3ec443
hlsdemux: Send buffering messages on the bus
2011-08-24 08:12:19 +02:00
Youness Alaoui
e2de4e5870
hlsdemux: cache the number of fragments we are required to cache
2011-08-24 08:12:14 +02:00
Youness Alaoui
cfd28a6f90
tsdemux: Forward seek/duration query/event to the sinkpad
2011-08-24 07:48:52 +02:00
Thiago Santos
69c65875ea
camerabin2: Optimize start up a little by removing some pad checks
...
Some pad checks are guaranteed to work, so we can disable them
by using gst_element_link_pads_full
2011-08-24 01:03:32 -03:00
Thiago Santos
011eddcd0e
camerabin2: Remove from experimental
...
Remove camerabin2 from experimental, allowing it to be built
without needing to pass --enable-experimental on configure.
2011-08-23 19:26:31 -03:00
Thiago Santos
e32897d809
camerabin2: Always set encodebin flags when going to ready
...
When going from NULL to READY we want the encodebin flags to be
set, and not only after creating encodebin (on the first run)
2011-08-23 19:13:21 -03:00
Thiago Santos
5c662ec0c7
camerabin2: Add new entry to flags property
...
Adds a new entry to camerabin2 flags to disable viewfinder
conversion elements.
2011-08-23 11:58:33 -03:00