Thiago Santos
2ed3d1b309
camerabin2: Micro optimize encodebin pads linking
...
Reduce one check in encodebin pads linking on camerabin2 by
using the link_pads_full version
2011-08-31 15:45:18 -03:00
Thiago Santos
e17d99c4c4
basecamerabinsrc: Optimize preview pipeline startup
...
Use gst_element_link_pads_full to optimize preview pipeline startup,
leading to a faster camerabin2 startup as well.
2011-08-31 15:45:18 -03:00
Thiago Santos
ac7fc0d357
camerabin2: Use explicit boolean literals to make gobject happy
...
gobject boolean properties are strict and only accept 1 or 0, otherwise
they throw an assertion.
2011-08-31 15:45:18 -03:00
Sebastian Dröge
cf8f00d57a
hlsdemux: Just join the task
...
gst_task_join() will already stop the task, no need
to stop it additionally.
2011-08-31 14:48:47 +02:00
Sebastian Dröge
119771eaab
hlsdemux: Join the task instead of just stopping it and not waiting for it to finish
...
Fixes interesting race conditions that cause crashes in decodebin2
because pads are added/removed from child elements although they
should be in READY state already.
2011-08-31 14:47:40 +02:00
Sebastian Dröge
c8b7ae1ffa
hlsdemux: Remove unused variable
2011-08-31 12:12:59 +02:00
Youness Alaoui
0c97deb59d
hlsdemux: switch to higher/lower bitrate by more than one step at a time
2011-08-31 12:12:33 +02:00
Youness Alaoui
6436747eb0
hlsdemux: remove spamming GST_LOG_OBJECT
2011-08-31 12:11:32 +02:00
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