platform/upstream/gstreamer.git
13 years agoMove m_pprevFrame free just before the clone of the latest frame for readability
Nicola Murino [Wed, 17 Aug 2011 07:42:07 +0000 (09:42 +0200)]
Move m_pprevFrame free just before the clone of the latest frame for readability

13 years agocamerabin2: Make viewfinder's queue a thread limit only
Thiago Santos [Fri, 26 Aug 2011 12:43:14 +0000 (09:43 -0300)]
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.

13 years agobasevideoencoder: fix element leak
Vincent Penquerc'h [Thu, 25 Aug 2011 18:56:58 +0000 (19:56 +0100)]
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

13 years agotsdemux: In push mode, do not start pull loop if upstream seek fails
Youness Alaoui [Fri, 26 Aug 2011 00:52:46 +0000 (00:52 +0000)]
tsdemux: In push mode, do not start pull loop if upstream seek fails

13 years agohlsdemux: do not make the update_thread joinable
Youness Alaoui [Fri, 26 Aug 2011 00:47:53 +0000 (00:47 +0000)]
hlsdemux: do not make the update_thread joinable

13 years agohlsdemux: Ensure the task is paused in case of cache error
Youness Alaoui [Fri, 26 Aug 2011 00:26:29 +0000 (00:26 +0000)]
hlsdemux: Ensure the task is paused in case of cache error

13 years agohlsdemux: stop the threads in the proper order
Youness Alaoui [Thu, 25 Aug 2011 23:37:47 +0000 (23:37 +0000)]
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

13 years agohlsdemux: do not post an error if we seek/cancel during caching of fragments
Youness Alaoui [Thu, 25 Aug 2011 23:37:25 +0000 (23:37 +0000)]
hlsdemux: do not post an error if we seek/cancel during caching of fragments

13 years agohlsdemux: if we're canceling a fetcher, we must stop its thread
Youness Alaoui [Thu, 25 Aug 2011 23:37:00 +0000 (23:37 +0000)]
hlsdemux: if we're canceling a fetcher, we must stop its thread

13 years agohlsdemux: lock the update_thread mutex before stopping it
Youness Alaoui [Thu, 25 Aug 2011 23:36:27 +0000 (23:36 +0000)]
hlsdemux: lock the update_thread mutex before stopping it

13 years agohlsdemux: lock the fetcher mutex before stopping it
Youness Alaoui [Thu, 25 Aug 2011 23:35:55 +0000 (23:35 +0000)]
hlsdemux: lock the fetcher mutex before stopping it

13 years agohlsdemux: do not allow two fetchers to run simultanously
Youness Alaoui [Thu, 25 Aug 2011 23:33:10 +0000 (23:33 +0000)]
hlsdemux: do not allow two fetchers to run simultanously

13 years agohlsdemux: Stop the streaming task on PAUSED_TO_READY state change
Youness Alaoui [Tue, 23 Aug 2011 20:49:33 +0000 (20:49 +0000)]
hlsdemux: Stop the streaming task on PAUSED_TO_READY state change

13 years agotests: make camerabin2 test build
Vincent Penquerc'h [Thu, 25 Aug 2011 18:24:56 +0000 (19:24 +0100)]
tests: make camerabin2 test build

https://bugzilla.gnome.org/show_bug.cgi?id=657363

13 years agodtmf: Add more debug
Olivier Crête [Wed, 13 Jul 2011 01:48:37 +0000 (21:48 -0400)]
dtmf: Add more debug

13 years agodtmf: Max event type is 15
Olivier Crête [Tue, 12 Jul 2011 23:09:02 +0000 (19:09 -0400)]
dtmf: Max event type is 15

13 years agodtmfsrc: Align DTMF sound buffers with last-stop from event
Olivier Crête [Thu, 14 Apr 2011 19:46:08 +0000 (15:46 -0400)]
dtmfsrc: Align DTMF sound buffers with last-stop from event

Also make sure the timestamps never go backwards

13 years agortpdtmfsrc: Correctly recognize the end of a buffer
Olivier Crête [Tue, 12 Jul 2011 01:31:07 +0000 (21:31 -0400)]
rtpdtmfsrc: Correctly recognize the end of a buffer

13 years agortpdtmfsrc: Make sure rtpdtmfsrc timestamps don't overlap
Olivier Crête [Tue, 12 Jul 2011 00:47:23 +0000 (20:47 -0400)]
rtpdtmfsrc: Make sure rtpdtmfsrc timestamps don't overlap

13 years agortpdtmfsrc: Put the inter digit interval at the end, not at the start
Olivier Crête [Tue, 12 Jul 2011 00:46:20 +0000 (20:46 -0400)]
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.

13 years agortpdtmfsrc: Start at the last_stop from the start event if there was one
Olivier Crête [Thu, 14 Apr 2011 21:08:57 +0000 (17:08 -0400)]
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

13 years agortpdtmfmux: Add last-stop to dtmf-event upstream events
Olivier Crête [Thu, 14 Apr 2011 18:34:26 +0000 (14:34 -0400)]
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.

13 years agortpdtmfsrc: Respect ptime from the caps
Olivier Crête [Thu, 14 Apr 2011 20:49:39 +0000 (16:49 -0400)]
rtpdtmfsrc: Respect ptime from the caps

Respect the ptime from the caps for the DTMF packets

13 years agortpdtmfsrc: Just error out if there is no clock
Olivier Crête [Tue, 12 Jul 2011 01:30:28 +0000 (21:30 -0400)]
rtpdtmfsrc: Just error out if there is no clock

13 years agokate: make gst_kate_util_is_utf8_string() inline to fix compiler warning with older...
Tim-Philipp Müller [Wed, 24 Aug 2011 15:53:52 +0000 (16:53 +0100)]
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

13 years agorsndvd: ensure metadata is writable when writing to it
Vincent Penquerc'h [Wed, 24 Aug 2011 14:32:12 +0000 (15:32 +0100)]
rsndvd: ensure metadata is writable when writing to it

https://bugzilla.gnome.org/show_bug.cgi?id=657250

13 years agotsdemux: Use FALSE instead of 0 for bool parameter
Sebastian Dröge [Wed, 24 Aug 2011 07:35:18 +0000 (09:35 +0200)]
tsdemux: Use FALSE instead of 0 for bool parameter

13 years agotsdemux: Need to send a newsegment after a seek
Youness Alaoui [Tue, 23 Aug 2011 22:44:17 +0000 (22:44 +0000)]
tsdemux: Need to send a newsegment after a seek

13 years agohlsdemux: Send buffering messages on the bus
Youness Alaoui [Tue, 23 Aug 2011 22:38:26 +0000 (22:38 +0000)]
hlsdemux: Send buffering messages on the bus

13 years agohlsdemux: cache the number of fragments we are required to cache
Youness Alaoui [Tue, 23 Aug 2011 22:38:05 +0000 (22:38 +0000)]
hlsdemux: cache the number of fragments we are required to cache

13 years agotsdemux: Forward seek/duration query/event to the sinkpad
Youness Alaoui [Tue, 23 Aug 2011 22:40:25 +0000 (22:40 +0000)]
tsdemux: Forward seek/duration query/event to the sinkpad

13 years agocamerabin2: Optimize start up a little by removing some pad checks
Thiago Santos [Wed, 24 Aug 2011 04:03:32 +0000 (01:03 -0300)]
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

13 years agocamerabin2: Remove from experimental
Thiago Santos [Tue, 23 Aug 2011 22:26:31 +0000 (19:26 -0300)]
camerabin2: Remove from experimental

Remove camerabin2 from experimental, allowing it to be built
without needing to pass --enable-experimental on configure.

13 years agocamerabin2: Always set encodebin flags when going to ready
Thiago Santos [Tue, 23 Aug 2011 22:13:21 +0000 (19:13 -0300)]
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)

13 years agocamerabin2: Add new entry to flags property
Thiago Santos [Tue, 23 Aug 2011 14:58:33 +0000 (11:58 -0300)]
camerabin2: Add new entry to flags property

Adds a new entry to camerabin2 flags to disable viewfinder
conversion elements.

13 years agocamerabin2: viewfinderbin: Add property for disabling converters
Thiago Santos [Tue, 23 Aug 2011 14:19:51 +0000 (11:19 -0300)]
camerabin2: viewfinderbin: Add property for disabling converters

Adds a new property to disable converters elements for performance
reasons. It should only be used if the application knows they aren't
needed.

13 years agotsdemux: do not try to compare a PCR with itself for statistics
Vincent Penquerc'h [Fri, 19 Aug 2011 16:28:54 +0000 (17:28 +0100)]
tsdemux: do not try to compare a PCR with itself for statistics

Especially as one of the logs will cause a divide by zero.

https://bugzilla.gnome.org/show_bug.cgi?id=656927

13 years agotsdemux: do not keep a dangling pointer
Vincent Penquerc'h [Fri, 19 Aug 2011 12:32:14 +0000 (13:32 +0100)]
tsdemux: do not keep a dangling pointer

When removing the current program, it will get freed by the
hash table removal callback, so ensure we clear our pointer
to it.

Fixes a crash later on in gst_ts_demux_push trying to access it.

https://bugzilla.gnome.org/show_bug.cgi?id=656927

13 years agokate: pass on timed event metadata as tags when we can
Vincent Penquerc'h [Sun, 21 Aug 2011 19:36:07 +0000 (20:36 +0100)]
kate: pass on timed event metadata as tags when we can

Metadata attached to other objects that may be used in this
event are not passed, as is binary metadata.

13 years agoconfigure: Add AC_MSG_CHECKING() to the VP8E_SET_TUNING presence check
Sebastian Dröge [Tue, 23 Aug 2011 08:32:14 +0000 (10:32 +0200)]
configure: Add AC_MSG_CHECKING() to the VP8E_SET_TUNING presence check

13 years agovp8: probe for the new tuning API to keep building with older libvpx
Vincent Penquerc'h [Fri, 19 Aug 2011 18:17:15 +0000 (19:17 +0100)]
vp8: probe for the new tuning API to keep building with older libvpx

https://bugzilla.gnome.org/show_bug.cgi?id=656928

13 years agorsvgdec: use input buffer timings if possible
Vincent Penquerc'h [Thu, 18 Aug 2011 12:21:18 +0000 (13:21 +0100)]
rsvgdec: use input buffer timings if possible

SVG data may come through multiple buffers, so keep track of the
timestamp of the first buffer, and use it in preference.

https://bugzilla.gnome.org/show_bug.cgi?id=628284

13 years agokate: do not consider an empty SPU to be a fatal error
Vincent Penquerc'h [Mon, 22 Aug 2011 16:10:24 +0000 (17:10 +0100)]
kate: do not consider an empty SPU to be a fatal error

Instead, just encode nothing and go on.

https://bugzilla.gnome.org/show_bug.cgi?id=657091

13 years agokate: do not clear out high bits from display area
Vincent Penquerc'h [Mon, 22 Aug 2011 16:15:10 +0000 (17:15 +0100)]
kate: do not clear out high bits from display area

http://dvd.sourceforge.net/spu_notes does not mention that high bits
are to be masked, and not clearing them makes a sample work, where
clearing them yielded left > right.
History from the dvdspu plugin, from where this code was copied,
does not shed any light, as tracing this code's origin shows
the same bitmasks being there in 2007 when it was imported.

https://bugzilla.gnome.org/show_bug.cgi?id=657091

13 years agodvdspu: do not clear out high bits from display area
Vincent Penquerc'h [Mon, 22 Aug 2011 15:52:13 +0000 (16:52 +0100)]
dvdspu: do not clear out high bits from display area

http://dvd.sourceforge.net/spu_notes does not mention that high bits
are to be masked, and not clearing them makes a sample work, where
clearing them yielded left > right.
History does not shed any light, as tracing this code's origin shows
the same bitmasks being there in 2007 when it was imported.

https://bugzilla.gnome.org/show_bug.cgi?id=620119

13 years agompegtsbase: First try if upstream handles seeking in TIME format before seeking in...
Sebastian Dröge [Tue, 23 Aug 2011 07:52:20 +0000 (09:52 +0200)]
mpegtsbase: First try if upstream handles seeking in TIME format before seeking in the demuxer

13 years agotsdemux: First send SEEKING queries upstream
Sebastian Dröge [Tue, 23 Aug 2011 07:40:16 +0000 (09:40 +0200)]
tsdemux: First send SEEKING queries upstream

13 years agotsdemux: Send DURATION query upstream first
Sebastian Dröge [Tue, 23 Aug 2011 07:27:23 +0000 (09:27 +0200)]
tsdemux: Send DURATION query upstream first

13 years agohlsdemux: Use FALSE instead of 0 for a bool parameter
Sebastian Dröge [Tue, 23 Aug 2011 07:23:33 +0000 (09:23 +0200)]
hlsdemux: Use FALSE instead of 0 for a bool parameter

13 years agohlsdemux: switch pads when we seek (need_segment) since tsdemux doesn't cope well...
Youness Alaoui [Tue, 16 Aug 2011 19:53:31 +0000 (19:53 +0000)]
hlsdemux: switch pads when we seek (need_segment) since tsdemux doesn't cope well with a reset

13 years agohlsdemux: Add a FIXME comment. loop task should be a pad task
Youness Alaoui [Tue, 23 Aug 2011 02:36:25 +0000 (02:36 +0000)]
hlsdemux: Add a FIXME comment. loop task should be a pad task

13 years agohlsdemux: Do not seek in a live stream
Youness Alaoui [Mon, 22 Aug 2011 23:41:39 +0000 (23:41 +0000)]
hlsdemux: Do not seek in a live stream

13 years agohlsdemux: Do not take the pad stream lock, use the task's lock instead
Youness Alaoui [Mon, 22 Aug 2011 23:41:31 +0000 (23:41 +0000)]
hlsdemux: Do not take the pad stream lock, use the task's lock instead

13 years agohlsdemux: Implement EVENT_SEEK
Youness Alaoui [Tue, 16 Aug 2011 19:46:49 +0000 (19:46 +0000)]
hlsdemux: Implement EVENT_SEEK

13 years agohlsdemux: Implement the GST_QUERY_SEEKING properly
Youness Alaoui [Tue, 23 Aug 2011 01:54:26 +0000 (01:54 +0000)]
hlsdemux: Implement the GST_QUERY_SEEKING properly

13 years agohlsdemux: Implement correctly the GST_QUERY_DURATION
Youness Alaoui [Tue, 23 Aug 2011 01:54:03 +0000 (01:54 +0000)]
hlsdemux: Implement correctly the GST_QUERY_DURATION

13 years agohlsdemux: Do not use GST_TASK_WAIT in the task function
Youness Alaoui [Tue, 16 Aug 2011 19:41:08 +0000 (19:41 +0000)]
hlsdemux: Do not use GST_TASK_WAIT in the task function

The task function uses GST_TASK_WAIT which does a g_cond_wait giving it
the GST_OBJECT_GET_LOCK of the task. The mutex gets locked when
g_cond_wait returns, so if we don't lock/unlock it, it will
stay locked forever, preventing the task from ever finishing.
We shouldn't lock the task object lock, so let's remove the GST_TASK_WAIT
and make the task pause instead if there are no buffers in the queue.

13 years agotsdemux: do not send a new-segment on stream removal
Youness Alaoui [Thu, 18 Aug 2011 23:52:37 +0000 (23:52 +0000)]
tsdemux: do not send a new-segment on stream removal

When a program is changed, stream_added is called which sets the
need_newsegment to TRUE, then stream_removed is called, which calls
the flush_pending_data, which checks for the newsegment and causes
it to send a new-segment.

We must not send the newsegment when flushing the pending data on the
removed stream. We should only push it when flushing data on the newly
added streams (after they finish parsing their PTS header)

13 years agotsdemux: Fix newsegment when switching programs
Youness Alaoui [Tue, 16 Aug 2011 22:05:14 +0000 (22:05 +0000)]
tsdemux: Fix newsegment when switching programs

If a program/stream is changed, then a newsegment is sent which must
not be the same as the base segment since it happens later. We must
shift the start position by the time elapsed since the newsegment
and the current PTS of the stream

13 years agotsdemux: interpolate gap and fix timestamps depending on upstream segment
Youness Alaoui [Tue, 16 Aug 2011 19:54:04 +0000 (19:54 +0000)]
tsdemux: interpolate gap and fix timestamps depending on upstream segment

13 years agohlsdemux: Keep a separate variable for the current variant used
Youness Alaoui [Thu, 18 Aug 2011 23:54:59 +0000 (23:54 +0000)]
hlsdemux: Keep a separate variable for the current variant used

By using a separate variable, first it allows us to sort the lists
of alternates but keep the pointer on the first occurence in the main
playlist (to respect the spec of starting with the bitrate specified
first in the main playlist). It also avoid playing with the lists variable
which should be used to store the list of playlists and not as a pointer
to the current one.
Also fixes a memleak with the g_list_foreach freeing the lists, if it wasn't
pointing to the first element of the list.

13 years agodecklink: fix compilation on Linux
David Schleef [Mon, 22 Aug 2011 01:44:43 +0000 (18:44 -0700)]
decklink: fix compilation on Linux

13 years agodecklink: Add subdevice property
David Schleef [Thu, 18 Aug 2011 21:29:53 +0000 (14:29 -0700)]
decklink: Add subdevice property

13 years agodecklink: add support for Windows
Joshua M. Doe [Thu, 7 Jul 2011 20:44:31 +0000 (16:44 -0400)]
decklink: add support for Windows

Builds with MSVC, not tested in MinGW or anything else. Added
COM handling code, borrowed from dshowvideosink. Moved Linux
specific files to ./linux and added Windows specific files to
./win (generated from IDL files in VS9). Added macros to handle
BSTR and defined bool as BOOL.  Fixes #655362.

Signed-off-by: David Schleef <ds@schleef.org>
13 years agodecklink: improve frame handling
Joshua M. Doe [Thu, 7 Jul 2011 18:34:01 +0000 (14:34 -0400)]
decklink: improve frame handling

Send NEWSEGMENT on start. Send warning instead of error on
dropped frames.

Signed-off-by: David Schleef <ds@schleef.org>
13 years agodecklink: fix debugging in capture.cpp by making category extern
Joshua M. Doe [Thu, 7 Jul 2011 18:20:37 +0000 (14:20 -0400)]
decklink: fix debugging in capture.cpp by making category extern

Signed-off-by: David Schleef <ds@schleef.org>
13 years agodecklink: use mutexes from glib instead of pthread
Joshua M. Doe [Thu, 7 Jul 2011 18:13:00 +0000 (14:13 -0400)]
decklink: use mutexes from glib instead of pthread

Signed-off-by: David Schleef <ds@schleef.org>
13 years agoremovesilence: new plugin
Tiago César Katcipis [Thu, 16 Jun 2011 20:19:49 +0000 (17:19 -0300)]
removesilence: new plugin

Fixes: #597822.

Signed-off-by: David Schleef <ds@schleef.org>
13 years agocamerabin2: Prevent audiosrc from sending undesired eos
Thiago Santos [Sun, 21 Aug 2011 17:41:28 +0000 (14:41 -0300)]
camerabin2: Prevent audiosrc from sending undesired eos

Basesrc derived classes send an eos when they change state
from paused to ready and that breaks video recordings on camerabin2
as it makes the whole audio branch pads flushing.

Prevent it by using a pad probe that only allows the eos to pass
when it is caused by a stop-capture action.

13 years agotests: camerabin2: Use audiotestsrc on tests
Thiago Santos [Sun, 21 Aug 2011 17:07:37 +0000 (14:07 -0300)]
tests: camerabin2: Use audiotestsrc on tests

Use audiotestsrc on tests instead of using the system's default
audiosrc, avoiding any problems that a local audio setup might
have.

13 years agocamerabin2: Use gst_pad_send_event instead of eventfunc macro
Thiago Santos [Thu, 18 Aug 2011 21:27:03 +0000 (18:27 -0300)]
camerabin2: Use gst_pad_send_event instead of eventfunc macro

13 years agotests: camerabin2: Improving tests
Thiago Santos [Sun, 14 Aug 2011 07:41:58 +0000 (04:41 -0300)]
tests: camerabin2: Improving tests

Adding some additional checks for custom camerabin2 messages

Also improves reliability of the tests by waiting for the preview-buffer message.
This message is generated from the preview pipeline, and might arrive later than the
image/video-done from the main camerabin2 pipeline, the tests need to wait for it even
after getting the image/video-done.

13 years agocamerabin2: Avoid assertions when plugin creation fails
Thiago Santos [Thu, 18 Aug 2011 18:12:56 +0000 (15:12 -0300)]
camerabin2: Avoid assertions when plugin creation fails

Capsfilters are created on the constructor and their properties can
be set/get from camerabin2's set/get_property functions. The user with
a broken setup would cause assertions when trying to set/get the
capture caps of this camerabin2.

A proper missing-plugin message will be posted when the user tries to
set camerabin2 to READY state.

13 years agotsmux: remove unnecessary check
Alessandro Decina [Fri, 19 Aug 2011 22:48:20 +0000 (00:48 +0200)]
tsmux: remove unnecessary check

remove an if (best) check where best != NULL has already been checked

13 years agotsbase: reinitiate segment at flush-stop event only
Youness Alaoui [Tue, 16 Aug 2011 19:51:34 +0000 (19:51 +0000)]
tsbase: reinitiate segment at flush-stop event only

13 years agohlsdemux: Set buffer timestamp since we send a TIME segment
Youness Alaoui [Tue, 16 Aug 2011 19:43:08 +0000 (19:43 +0000)]
hlsdemux: Set buffer timestamp since we send a TIME segment

13 years agohlsdemux: Allow bandwidth switching during caching of fragments
Youness Alaoui [Tue, 2 Aug 2011 19:21:47 +0000 (19:21 +0000)]
hlsdemux: Allow bandwidth switching during caching of fragments

13 years agohlsdemux: set the pad's caps before adding it
Youness Alaoui [Tue, 2 Aug 2011 19:21:18 +0000 (19:21 +0000)]
hlsdemux: set the pad's caps before adding it

13 years agoofa: fingerprint creation can fail
Vincent Penquerc'h [Wed, 17 Aug 2011 10:02:12 +0000 (11:02 +0100)]
ofa: fingerprint creation can fail

There does not seem to be a way to retrieve information
about why failure occured, unfortunately.
When failure occurs, do not post a NULL fingerprint tag.

https://bugzilla.gnome.org/show_bug.cgi?id=656641

13 years agoofa: cleanup
Vincent Penquerc'h [Wed, 17 Aug 2011 09:55:59 +0000 (10:55 +0100)]
ofa: cleanup

Avoid repeating casting to GstAudioFilter when one will do
Use object related logging to make it easier to get just the logs we want

https://bugzilla.gnome.org/show_bug.cgi?id=656641

13 years agoofa: do not create fingerprint on EOS if record is FALSE
Vincent Penquerc'h [Wed, 17 Aug 2011 10:07:54 +0000 (11:07 +0100)]
ofa: do not create fingerprint on EOS if record is FALSE

https://bugzilla.gnome.org/show_bug.cgi?id=656641

13 years agovp8enc: Remove unused and useless variable in tags handling
Sebastian Dröge [Thu, 18 Aug 2011 08:39:26 +0000 (10:39 +0200)]
vp8enc: Remove unused and useless variable in tags handling

13 years agobasevideo: Fix locking, especially if both pads have different streaming threads
Sebastian Dröge [Thu, 18 Aug 2011 08:02:50 +0000 (08:02 +0000)]
basevideo: Fix locking, especially if both pads have different streaming threads

13 years agobasevideo: Don't call g_type_class_peek_parent() in class_init
Sebastian Dröge [Thu, 18 Aug 2011 07:42:02 +0000 (07:42 +0000)]
basevideo: Don't call g_type_class_peek_parent() in class_init

This is already done by the GObject boilerplate macro

13 years agoaiffmux: drop data after 4ish GB and moan
Vincent Penquerc'h [Tue, 16 Aug 2011 09:24:37 +0000 (10:24 +0100)]
aiffmux: drop data after 4ish GB and moan

https://bugzilla.gnome.org/show_bug.cgi?id=654278

13 years agoaiffmux: use guint32 for guint32 parameters
Vincent Penquerc'h [Tue, 16 Aug 2011 09:02:59 +0000 (10:02 +0100)]
aiffmux: use guint32 for guint32 parameters

This makes explicit that the range is limited.

https://bugzilla.gnome.org/show_bug.cgi?id=654278

13 years agoaiffmux: avoid integer overflow
Vincent Penquerc'h [Tue, 16 Aug 2011 09:02:11 +0000 (10:02 +0100)]
aiffmux: avoid integer overflow

These values are 32 bits, and width is a multiple of 8.

https://bugzilla.gnome.org/show_bug.cgi?id=654278

13 years agoceltdec: make this compile with git libcelt
Vincent Penquerc'h [Tue, 16 Aug 2011 18:39:40 +0000 (19:39 +0100)]
celtdec: make this compile with git libcelt

celt_mode_info was removed, in favor of a _ctl.

https://bugzilla.gnome.org/show_bug.cgi?id=656686

13 years agoofa: don't crash when there's no data to create a fingerprint from
Vincent Penquerc'h [Tue, 16 Aug 2011 17:34:59 +0000 (18:34 +0100)]
ofa: don't crash when there's no data to create a fingerprint from

Fixes a crash when no data flowed through.

https://bugzilla.gnome.org/show_bug.cgi?id=656641

13 years agompeg4videoparse: Use gst_bit_reader_skip to skip more than 32 bits.
George Kiagiadakis [Tue, 16 Aug 2011 16:47:02 +0000 (19:47 +0300)]
mpeg4videoparse: Use gst_bit_reader_skip to skip more than 32 bits.

GET_BITS is a macro for gst_bit_reader_get_bits_uint32, which cannot
read more than 32 bits and will fail in this case where it is called
to read 79 bits. Since we want to skip those bits, gst_bit_reader_skip
is more appropriate in this case.

13 years agoqtkitvideosrc: get the framerate from caps
Alessandro Decina [Mon, 15 Aug 2011 00:08:14 +0000 (02:08 +0200)]
qtkitvideosrc: get the framerate from caps

...and configure QTKit accordingly. Hardcoding to 30fps was pretty -bad.

13 years agotests: camerabin2: Add test for audio-filter property
Thiago Santos [Sat, 13 Aug 2011 18:55:01 +0000 (15:55 -0300)]
tests: camerabin2: Add test for audio-filter property

Checks that the audio-filter is properly plugged in the pipeline
and receives buffers when recording a video.

13 years agocamerabin2: Add audio-filter property
Thiago Santos [Thu, 11 Aug 2011 21:59:07 +0000 (18:59 -0300)]
camerabin2: Add audio-filter property

Adds a property to add a custom GstElement to the audio
branch of the pipeline. This allows the user to do custom audio
processing/analysis when recording videos.

13 years agobasevisualizer: add more shader variants and simplify code
Stefan Kost [Fri, 12 Aug 2011 20:39:53 +0000 (22:39 +0200)]
basevisualizer: add more shader variants and simplify code

Use macros to simplyfy the shading code. Those will ease to add support for
other colorspaces in the future. Add more variants for the shading (left,right,
horiz-in, vert-out, vert-in).

13 years agobasevisualizer: more docs
Stefan Kost [Fri, 12 Aug 2011 19:22:20 +0000 (21:22 +0200)]
basevisualizer: more docs

13 years agobaseaudiovisualizer: protect config with a lock
Stefan Kost [Fri, 12 Aug 2011 19:18:44 +0000 (21:18 +0200)]
baseaudiovisualizer: protect config with a lock

Before it was easy to crash the elements when using a ximagesink and triggering
renegotiation by resizing.

13 years agospectrascope: make a copy of the audiodata before downmixing and windowing
Stefan Kost [Fri, 12 Aug 2011 14:57:49 +0000 (16:57 +0200)]
spectrascope: make a copy of the audiodata before downmixing and windowing

The buffers come from the adapter and the data might overlap. We don't want to
modify it in place.

13 years agobasevideoencoder: Proxy the width/height/framerate/PAR constraints of downstream...
Sebastian Dröge [Fri, 12 Aug 2011 10:25:03 +0000 (12:25 +0200)]
basevideoencoder: Proxy the width/height/framerate/PAR constraints of downstream caps to upstream

This allows to specify constraints on the compressed downstream caps
by muxers or capsfilters, which will then be forwarded to upstream
and allows video converters to fulfill the constraints.

Code based on Mark Nauwelaerts audio encoder base class.

13 years agobasevideoencoder: Remove old ::getcaps() comment
Sebastian Dröge [Fri, 12 Aug 2011 10:13:45 +0000 (12:13 +0200)]
basevideoencoder: Remove old ::getcaps() comment

13 years agodiracenc: Update for basevideoencoder ::get_caps() removal
Sebastian Dröge [Fri, 12 Aug 2011 10:08:32 +0000 (12:08 +0200)]
diracenc: Update for basevideoencoder ::get_caps() removal