Commit graph

5510 commits

Author SHA1 Message Date
Thibault Saunier
b968f82b18 h264parse: Port to the new h.264 parsing library 2011-09-02 15:46:02 +02:00
Thibault Saunier
a983b29a49 mpegvideoparse: Port to the new mpeg parsing library 2011-09-02 15:46:02 +02:00
Sebastian Dröge
0561c3751c hlsdemux: Remove obsolete FIXME comment 2011-09-02 15:00:58 +02:00
Sebastian Dröge
82bbc76f15 hlsdemux: Reset the internal state going to/from READY instead of NULL
This theoretically allows reuse of the element when setting it to READY
instead of NULL.
2011-09-02 14:55:45 +02:00
Sebastian Dröge
445f626016 hlsdemux: Set playlist parsing helper object to NULL after freeing 2011-09-02 14:54:56 +02:00
Youness Alaoui
acacc251fa hlsdemux: Allow up to 3 consecutive failed downloads before erroring
In some networks, especiall in 3G, a fragment download or playlist
update may fail. We allow for up to 3 consecutive failures, while using
the rfc's specs for retry delays before considering that there was an
error on the stream.
2011-09-02 14:52:07 +02:00
Youness Alaoui
8889c5927c hlsdemux: remove unused argument 2011-09-02 14:51:11 +02:00
Robert Swain
db0739e54f camerabin2: Add a flag to disable image conversion elements
If we know that our camera source element produces buffers at the same
resolution and appropriate colourspace for the output, we don't need any
of the generic conversion elements in encodebin. This reduces caps
negotiation overheads among other things.
2011-09-01 15:57:50 +02:00
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
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
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
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
Wim Taymans
ad06ac2b4b Merge branch 'master' into 0.11
Conflicts:
	ext/resindvd/rsnwrappedbuffer.c
2011-08-25 12:49:26 +02: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
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
Thiago Santos
dc9276b9ee 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.
2011-08-23 11:19:51 -03:00
Vincent Penquerc'h
66dbdfd4d1 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
2011-08-23 10:38:10 +02:00
Vincent Penquerc'h
b19a5ea1f3 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
2011-08-23 10:37:24 +02:00
Vincent Penquerc'h
c437541791 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
2011-08-23 10:15:27 +02:00
Sebastian Dröge
6edff48378 mpegtsbase: First try if upstream handles seeking in TIME format before seeking in the demuxer 2011-08-23 09:52:20 +02:00
Sebastian Dröge
a27b7b6712 tsdemux: First send SEEKING queries upstream 2011-08-23 09:40:16 +02:00
Sebastian Dröge
ca0df16d52 tsdemux: Send DURATION query upstream first 2011-08-23 09:27:23 +02:00
Sebastian Dröge
20f9738c10 hlsdemux: Use FALSE instead of 0 for a bool parameter 2011-08-23 09:23:33 +02:00
Youness Alaoui
3f42050c34 hlsdemux: switch pads when we seek (need_segment) since tsdemux doesn't cope well with a reset 2011-08-23 09:22:40 +02:00
Youness Alaoui
2d90f1c0dc hlsdemux: Add a FIXME comment. loop task should be a pad task 2011-08-23 09:21:03 +02:00
Youness Alaoui
b55f157d6f hlsdemux: Do not seek in a live stream 2011-08-23 09:20:25 +02:00
Youness Alaoui
18f53cf547 hlsdemux: Do not take the pad stream lock, use the task's lock instead 2011-08-23 09:20:14 +02:00
Youness Alaoui
e2f69e1be9 hlsdemux: Implement EVENT_SEEK 2011-08-23 09:19:59 +02:00
Youness Alaoui
475abd15b6 hlsdemux: Implement the GST_QUERY_SEEKING properly 2011-08-23 09:18:16 +02:00
Youness Alaoui
ae4af3910e hlsdemux: Implement correctly the GST_QUERY_DURATION 2011-08-23 09:17:30 +02:00
Youness Alaoui
a916d4dfd2 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.
2011-08-23 09:16:35 +02:00
Youness Alaoui
818762e8fc 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)
2011-08-22 16:01:24 +02:00
Youness Alaoui
382710e200 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
2011-08-22 16:01:17 +02:00
Youness Alaoui
4cc1dfb360 tsdemux: interpolate gap and fix timestamps depending on upstream segment 2011-08-22 15:55:47 +02:00
Youness Alaoui
690e59e497 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.
2011-08-22 15:46:41 +02:00
Tiago César Katcipis
382346a6f3 removesilence: new plugin
Fixes: #597822.

Signed-off-by: David Schleef <ds@schleef.org>
2011-08-21 15:28:08 -07:00
Thiago Santos
6c272aafa7 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.
2011-08-21 18:23:16 -03:00
Thiago Santos
fefc27a586 camerabin2: Use gst_pad_send_event instead of eventfunc macro 2011-08-21 18:23:16 -03:00
Thiago Santos
fe206e75f7 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.
2011-08-21 18:23:16 -03:00
Alessandro Decina
fa6d174455 tsmux: remove unnecessary check
remove an if (best) check where best != NULL has already been checked
2011-08-21 10:54:52 +02:00
Youness Alaoui
02bc614163 tsbase: reinitiate segment at flush-stop event only 2011-08-18 14:54:22 +02:00
Youness Alaoui
5878f71233 hlsdemux: Set buffer timestamp since we send a TIME segment 2011-08-18 14:05:10 +02:00
Youness Alaoui
8b762708cd hlsdemux: Allow bandwidth switching during caching of fragments 2011-08-18 14:00:42 +02:00
Youness Alaoui
a62aa2b774 hlsdemux: set the pad's caps before adding it 2011-08-18 13:53:02 +02:00
Wim Taymans
52d48bb142 Merge branch 'master' into 0.11 2011-08-17 19:01:39 +02:00
Vincent Penquerc'h
0381919e83 aiffmux: drop data after 4ish GB and moan
https://bugzilla.gnome.org/show_bug.cgi?id=654278
2011-08-16 23:25:38 +01:00
Vincent Penquerc'h
76c0f9bfe7 aiffmux: use guint32 for guint32 parameters
This makes explicit that the range is limited.

https://bugzilla.gnome.org/show_bug.cgi?id=654278
2011-08-16 20:32:27 +01:00
Vincent Penquerc'h
fb2479d1da 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
2011-08-16 20:31:55 +01:00
George Kiagiadakis
743b4677a2 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.
2011-08-16 19:05:52 +02:00
Thiago Santos
19e5736acd 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.
2011-08-13 11:42:07 -03:00
Stefan Kost
008fa0770b 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).
2011-08-12 22:39:53 +02:00
Stefan Kost
039ff3873b basevisualizer: more docs 2011-08-12 21:22:20 +02:00
Stefan Kost
3ba5b8bd0e baseaudiovisualizer: protect config with a lock
Before it was easy to crash the elements when using a ximagesink and triggering
renegotiation by resizing.
2011-08-12 21:18:44 +02:00
Stefan Kost
058c63d185 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.
2011-08-12 16:57:49 +02:00
Vincent Penquerc'h
2728ead8a2 mxf: do not assert on the values of data read from input
Instead, log a warning, and return.

https://bugzilla.gnome.org/show_bug.cgi?id=563827
2011-08-09 10:44:48 +02:00
Thiago Santos
8dc9551f9a camerabin2: Adding video-done message
video-done message will be posted when a video recording is
finished. Similar to image-done message.
2011-08-06 19:55:48 -03:00
Thiago Santos
80fb917034 camerabin2: Adding top-level element documentation 2011-08-06 12:26:32 -03:00
Thiago Santos
69b7326399 camerabin2: Fixing typo 2011-08-06 12:26:32 -03:00
Alessandro Decina
b01ee6bbf1 mpegvideoparse: fix sequence header parsing
After bitrate there's 11 bits (1 marker bit + VBV buffer size) before the load
intra quantiser flag.
2011-08-04 09:52:25 +02:00
Wim Taymans
2ba07782cd Merge branch 'master' into 0.11 2011-08-04 09:40:46 +02:00
Wim Taymans
01b9b5002f Merge branch 'master' into 0.11
Conflicts:
	common
	configure.ac
	gst/colorspace/colorspace.c
	gst/colorspace/colorspace.h
	gst/colorspace/gstcolorspace.c
2011-08-04 09:36:07 +02:00
David Schleef
e98281d25f subenc: Add webvttenc element 2011-08-03 13:39:34 -07:00
Tim 'mithro' Ansell
70c3fea5ac inter: Adding missing base requirements.
Fixes: #654806.
2011-08-03 13:38:37 -07:00
Thiago Santos
41989e358c camerabin2: add more missing plugin checks
Sprinkle some more missing plugin checks around
2011-08-03 15:34:26 -03:00
Thiago Santos
e9b72257e2 camerabin2: Add a missing element check and remove TODO
Add missing element checks for elements created at _init
functions and remove TODO about it
2011-08-03 15:34:26 -03:00
Thiago Santos
a68b1f049c camerabin2: Remove redundant image-queue
Encodebin is used for image encoding and it already contains
a queue, so we can remove camerabin2 image queue.
2011-08-03 13:58:26 -03:00
Tim-Philipp Müller
cc9e490313 dvbsuboverlay: fix up copyrights 2011-08-03 13:54:21 +01:00
Tim-Philipp Müller
f0bc2dc05b bayer: back around compiler warnings in orc-generated code by disabling -Werror for this plugin
https://bugzilla.gnome.org/show_bug.cgi?id=652677
2011-08-02 23:53:08 +01:00
Thiago Santos
298af589eb camerabin2: Workaround for ringbuffer not resyncing on READY
Add a workaround to fix timestamps meanwhile bug
https://bugzilla.gnome.org/show_bug.cgi?id=648359 is fixed.
2011-08-02 13:39:18 -03:00
Raluca Elena Podiuc
2e28fe2e18 camerabin2 remove redundant viewfinder-colorspace and viewfinder-scale
camrabin2 connects a viewfinderbin on "vfsrc". viewfinderbin is made of:
   vfbin-csp ! vfbin-videoscale ! videosink.

we should either remove csp/videoscale from wrappercamerabinsrc (as
done in this patch) or we should get rid of viewfinderbin altogether.
2011-08-02 13:39:18 -03:00
Raluca Elena Podiuc
058a3d9d4c basecamerasrc: remove unused get_allowed_input_caps
The use of this method was removed in:
    commit 539f10f4d9
    basecamerasrc: More cleanup

The code from wrappercamerabinsrc is from v4l2camerasrc but is unused:
get_allowed_input_caps is not called anywhere.
2011-08-02 13:39:18 -03:00
Teemu Katajisto
7e069060b3 camerabin2: Synchronize clock and base time to audiosrc
When audio source goes to READY it loses its clock and base time,
this patch sets them back after bringing the audio source back to PAUSED.
2011-08-02 13:39:17 -03:00
Robert Swain
7f720ed606 camerabin2: Prevent audio source from providing clock
The audio source inside camerabin2 is put to READY and back to
PLAYING when starting capture, causing the pipeline to lose its
clock. As camerabin2 isn't put to PAUSED->PLAYING again during
this, a new clock isn't selected for elements.
2011-08-02 13:39:17 -03:00
Robert Swain
2609427ada camerabin2: Add flags prop to toggle encodebin conversion elements
A flags property has been added to encodebin to toggle whether the
conversion elements (ffmpegcolorspace, videoscale, audioconvert,
audioresample, audiorate) are created and linked into the appropriate
branches of encodebin.

Not including these elements avoids some slow caps negotiation and
allows the first buffers to flow through encodebin much more quickly.
However, it imposes that the uncompressed input is appropriate for the
target profile and elements selected to meet that profile.
2011-08-02 13:39:17 -03:00
Robert Swain
dae8d8fd5a camerabin2: Prepare audiosrc before start-capture
If we bring the audio source up to the PAUSED state before emitting the
start-capture signal to the camera source, when subequently taking the
audio source to the PLAYING state, it will begin capture more quickly.
2011-08-02 13:39:17 -03:00
Robert Swain
afee3b0301 camerabin2: Remove redundant elements
Since camerabin2 has switched to encodebin and encodebin has its own
queues and conversion elements, those preceding encodebin are no longer
necessary and as such can be removed.
2011-08-02 13:39:17 -03:00
Edward Hervey
5c77682dab tsdemux: Take into account upstream newsegment events
If the incoming newsegment event was in time, use that position value
for the downstream newsegments.
2011-08-01 18:49:55 +02:00
Edward Hervey
5572e63858 hlsdemux: Send NEWSEGMENT events
Previously hlsdemux wasn't sending out any newsegment.
Here we push a GST_FORMAT_TIME newsegment, and whenever possible we
try to indicate the proper start time.

This allows downstream elements to relay the start/time values properly
to the sinks, allowing better stream switching.
2011-08-01 18:48:03 +02:00
Edward Hervey
adfb090b59 mpegtsbase: Remove programs on EOS
Allows subclasses to properly flush out pending data.
2011-08-01 15:46:12 +02:00
Edward Hervey
57279cdd24 tsdemux: Refactor stream/program removal
The program_stopped vmethod was called before stream_removed vmethod
was being called. Since we only did stream-related operations in there,
we just remove the program_stopped vmethod and do everything in the
stream_removed one.

Also, make sure we flush out all pending data before sending EOS.
2011-08-01 10:54:16 +02:00
Nicolas Dufresne
cbc0a2f056 mpegtsbase: Prevent stack gardening by using the right type
stream_type is stored as guint inside the GstStructure but was retreived
using valist with a pointer to guint16. This would cause stack gardening
when code is compiled without optimisation (e.g. in -O0 the compiler wont
pad the stack to optimise out required mask).

https://bugzilla.gnome.org/show_bug.cgi?id=655540
2011-08-01 09:33:25 +02:00
Tim-Philipp Müller
830a337799 id3mux: use now-public GstTagMux base class from libgsttag 2011-07-29 21:27:28 +01:00
Tim-Philipp Müller
e5970c8805 tagmux: require subclass to install sink pad template
Require the subclass to install both source and sink pad
templates. Also, print some warnings if the subclass doesn't
do that.

https://bugzilla.gnome.org/show_bug.cgi?id=555437
2011-07-29 21:27:28 +01:00
Edward Hervey
976f4b0bbf hsldemux: Handle change of media types
When switching bitrates, we might end up switching to a different
media-type (like from aac to/from mpeg-ts).

For this switch to behave properly in decodebin2, this patch adds:
* dynamic source pads (which will be added/removed whenever a stream
  media type changes
* re-checking the fragment media type whenever we switch to a different
  playlist
2011-07-27 16:56:37 +02:00
Edward Hervey
a49cfd1330 mpeg4videoparse: Fix unitialized variable on old compilers 2011-07-27 16:56:37 +02:00
Olaf Seibert
7583080023 hlsdemux: fix wrong usage of GST_ELEMENT_ERROR macros and compilation on NetBSD
https://bugzilla.gnome.org/show_bug.cgi?id=655319
2011-07-27 11:02:41 +01:00
Tim-Philipp Müller
e910e2888b pcapparse: fix compiler warning
gstpcapparse.c: In function 'gst_pcap_parse_chain':
gstpcapparse.c:381:6: error: 'eth_type' may be used uninitialized in this function [-Werror=uninitialized]
gstpcapparse.c:354:11: note: 'eth_type' was declared here
2011-07-27 10:56:15 +01:00
Felipe Contreras
046af98b30 pcapparse: fix SLL parsing
The current code is not checking for ethernet type, as it's supposed to,
but link layer device type and it's hard-coded to only accept dumps from
ethernet (ARPHRD_ETHER; 1). We don't care where the dump was fetched
from (wlan, 3G, etc.)

What we care about is the that the ethernet type is IP (ETHERNET_IP;
0x800), which is clearly field 14:

http://www.tcpdump.org/pcap3_man.html

And do a bit of cleanup.

Signed-off-by: Felipe Contreras <felipe.contreras@nokia.com>
2011-07-27 09:30:44 +02:00
Edward Hervey
634d29cd88 mpegtsbase/tsdemux: Fix stream/pad activation order
We first activate new streams before shutting down old ones.
We emit no-more-pads after we add new streams and emit EOS before
removing old ones.
Also cleanup/refactor a bit more of the code accordingly
2011-07-25 18:56:49 +02:00
Raluca Elena Podiuc
b50d50a9c2 camerabin2: add location=NULL docs to PORTING
https://bugzilla.gnome.org/show_bug.cgi?id=641918
2011-07-25 10:32:51 -03:00
Thiago Santos
a34ea4aaae camerabin2: If location is NULL do not encode images
Using a NULL string for location means that the application
doesn't want the image to be encoded, but wants to receive
the preview image. (Only works for image captures)

Useful for application that want the capture in memory only, like
displaying to the user before it choses to encode or take another
picture in avatar capturing scenarios.

https://bugzilla.gnome.org/show_bug.cgi?id=641918
2011-07-25 10:32:51 -03:00
Edward Hervey
d0e8427b4e pesparse: Fix stuffing byte handling
We in fact get the size of the header (including stuffing bytes), therefore
use that instead of trying to skip 0xff bytes ourselves since some media
streams do start with 0xff (like mpeg audio's initial 0xfff).
2011-07-20 19:19:13 +02:00
Alessandro Decina
2b7e9abc59 mpegtsdemux: fix compiler warnings 2011-07-20 08:59:25 +02:00
Edward Hervey
a960e72efa mpegtsbase/tsdemux: Add more comments and removal unused variable 2011-07-19 09:49:40 +02:00
Edward Hervey
2b127601e9 mpegtsbase: Avoid double removal of streams
This can happen if the PCR pid is the same as a audio/video PID.
2011-07-19 09:49:40 +02:00
Edward Hervey
b170b2020c mpegtsbase: Add a GList of streams to the program
Allows faster iteration of all program streams.

We still keep the Array to allow fast retrieval of stream by PID.
2011-07-19 09:49:40 +02:00
Edward Hervey
dc18e2b16d mpegtsbase: Use a bit array instead of an array of gboolean
Makes know_psi and is_pes 32 times smaller
2011-07-19 09:49:39 +02:00
Sebastian Dröge
beea027d19 pcapparse: Fix format string compiler warning 2011-07-19 08:37:24 +02:00
Alessandro Decina
f12598fa64 h264parse: remove a check made useless by the last commit 2011-07-18 11:51:23 +02:00
Alessandro Decina
5f6a805dfd h264parse: assume byte-stream if stream-format and codec_data are missing from input caps 2011-07-18 11:50:41 +02:00
Alessandro Decina
7bcc0c71b8 h264parse: ignore codec_data if stream-format=byte-stream
Some encoders set codec_data even when outputting byte-stream. Before this patch
h264parse would incorrectly detect such streams as AVC.
2011-07-18 11:50:41 +02:00
Edward Hervey
177e00f809 tsdemux: Use standalone PES parser 2011-07-18 09:13:15 +02:00
Edward Hervey
6f9a6cc2ba mpegtsdemux: Add standalone PES parser 2011-07-18 09:13:14 +02:00
Edward Hervey
42cf7d016c mpegdefs: clarify some stream ids 2011-07-17 09:49:06 +02:00
Edward Hervey
f6f885ddb8 tsdemux: whoops, tsdemux isn't ready yet for primary rank :) 2011-07-16 13:51:44 +02:00
Edward Hervey
a00900367a mpegtsbase/tsdemux: Cleanups and comments 2011-07-16 13:47:45 +02:00
Edward Hervey
9f1511e998 tsdemux: Fix newsegment creation for push mode
And all relevent comments to what it should be doing, refactor everything
a bit. Still not perfect ... but better.

Fixes #654657
2011-07-16 13:44:00 +02:00
Edward Hervey
b73679e13d mpegtsbase: Store incoming newsegments 2011-07-16 12:27:50 +02:00
Tim-Philipp Müller
f054eab77e tagmux: const-ify GstTagList argument of render vfuncs 2011-07-15 20:57:47 +01:00
Tim-Philipp Müller
1c3229307e tagmux: fix up private base class header so it can be made public
Move private bits into a private struct, add some padding.

https://bugzilla.gnome.org/show_bug.cgi?id=555437
2011-07-15 20:42:28 +01:00
Mark Nauwelaerts
01cf66b642 pcapparse: rename offset property to ts-offset
... so as to promote consistency with some other elements in the wild.
2011-07-15 10:05:24 +02:00
Alessandro Decina
d439f2d38d mpegtsbase: actually set seen_pat=TRUE when we see a PAT 2011-07-15 00:03:52 +02:00
Edward Hervey
a82483e367 mpegtsbase: Split up whether we saw a PAT and its offset
Fixes the issue with streams that don't set an offset on their buffers,
like those coming from hlsdemux.

Fixes #653481
2011-07-14 22:10:27 +02:00
Mark Nauwelaerts
592d7cbc15 pcapparse: properly apply ts offset 2011-07-14 17:07:04 +02:00
Mark Nauwelaerts
671a9faad6 pcapparse: optionally output relative timestamps, possibly shifted by offset
That is, output timestamps can then either be the absolute capture time,
or the relative capture time (w.r.t. to first output buffer), or the relative
capture time incremented by some offset.
2011-07-14 16:54:39 +02:00
Mark Nauwelaerts
93af6831e2 pcapparse: also support extracting tcp data 2011-07-14 16:54:37 +02:00
Olivier Crête
4fffbd2cd0 mpegvideoparse: Restore some unused variables as comments 2011-07-13 13:42:09 -04:00
Olivier Crête
ca7a512739 mpegtsdemux: Restore erroneously removed data++
Also, put back some unused code in comment and replace // comments by /* */
2011-07-13 13:39:54 -04:00
Olivier Crête
ad97807497 mpegdemux: Restore erroneously removed data++
Also, put back some unused code in comment and replace // comments by /* */
2011-07-13 13:38:31 -04:00
Olivier Crête
f4caf95a15 videomeasure: Fix set-but-unused warnings 2011-07-12 18:11:32 -04:00
Olivier Crête
8f6b55f920 tta: Fix set-but-unused warnings 2011-07-12 18:09:26 -04:00
Olivier Crête
b44cb0a048 sdi: Fix set-but-unused warnings 2011-07-12 18:08:45 -04:00
Olivier Crête
0b6cc7eb96 rtpvp8: Reject unknown bitstream versions 2011-07-12 18:03:53 -04:00
Olivier Crête
9eba99542f videoparsers: Fix set-but-unused warnings 2011-07-12 17:59:56 -04:00
Olivier Crête
c1f432ee18 pcapparse: Fix set-but-unused warnings 2011-07-12 17:57:45 -04:00
Olivier Crête
35f85f978e mpegvideoparse: Fix set-but-unused warnings 2011-07-12 17:56:25 -04:00
Olivier Crête
d7a774cc44 mpegdemux: Fix unused-but-set warnings 2011-07-12 17:53:33 -04:00
Olivier Crête
dcd54fced1 mpegtsdemux: Fix unused-but-set warnings 2011-07-12 17:50:27 -04:00
Sameer Naik
666807ed69 mpegtsmux: fix segfault if gst_collect_pads_pop () returns no buffer
In mpegtsmux_choose_best_stream () call if the gst_collect_pads_pop () call
returns no buffer (NULL), the plugin SegFaults in the gst_buffer_unref call.
To fix this we check if a valid buffer is returned before calling
gst_buffer_unref ().

Fixes bug #654416.
2011-07-12 07:51:21 +02:00
Sebastian Dröge
6f2c2609ac mxfdemux: Properly return seeking errors if the requested position can't be found 2011-07-08 11:52:17 +02:00
Stefan Kost
0a7e6e4002 inter: add ignore file for intermediate files 2011-07-08 00:11:37 -07:00
Stefan Kost
1b103d259d camerabin2: don't mess with camerabin (1) namespace
Use an extra '2' to stay out of the old namespace.
2011-07-08 00:11:37 -07:00
Stefan Kost
266a57d77b scaletempo: improve the docs
Fix the syntax, add more explanation and xref the properties.
2011-07-08 00:11:37 -07:00
David Schleef
f21e36b54b diracparse: make diracparse work correctly 2011-07-04 16:49:00 -07:00
David Schleef
e9f0e27596 inter: new intermediate surface plugin
This set of elements allows easily rendering audio and video to
an intermediate surface that is then used as a source in a different
pipeline.
2011-07-04 16:47:50 -07:00
David Schleef
2573de1062 colorspace: Add JPEG YCbCr matrix 2011-07-04 16:47:49 -07:00
David Schleef
3de8284efd y4mdec: Fix buffer duration 2011-06-26 19:29:55 -07:00
David Schleef
40ee3369a0 tta: decrease rank to NONE
Appears to be utterly incapable of parsing and decoding TTA streams.
Hasn't been updated to do TTA2.  If you want this element to work,
fix the bloody thing.  The gst-ffmpeg decoder works fine.

Also fixed an obvious endianness issue along the way.

Fixes: #652924
2011-06-25 15:12:45 -07:00
Tim-Philipp Müller
2b2e6fbdea camerabin2: don't use GLib 2.28 API
Don't use GLib 2.28 API, we still only require >= 2.24.
2011-06-23 20:11:55 +01:00
Thiago Santos
e19a488bce camerabin2: Set tagsetters to merge replace mode
The default for tagsetters is to use merge keep mode, so tags
would never be replaced and all captures would have the same tags.

This commit watches all elements added into encodebin and sets
all tagsetters to merge replace mode
2011-06-23 00:05:13 -03:00
Thiago Santos
f1fa6c6531 camerabin2: Use a single location for both modes
Implement the location property just like it works in camerabin, the
same location is used for both images and videos
2011-06-23 00:05:13 -03:00
Thiago Santos
f31554bc4f camerabin2: Send serialized custom events for filename changes in image sink
Using serialized custom events for switching image capture saving
location makes camerabin2 save each capture correctly to the location
that was set during the moment start-capture was called, and not
the moment the filesink was writing to disk.

This prevents captures to be overwriten by racyness among start-capture
and setting location for images.
2011-06-23 00:05:13 -03:00
Thiago Santos
a33eae1a65 camerabin2: No need to change state of the whole image branch
We only need to change the state of the filesink to switch its
saving location. This might still cause some problems of dropping
captured buffers, but it is better than changing the state of
the whole branch.
2011-06-23 00:05:13 -03:00
Thiago Santos
b1b0082cdb camerabin2: Use names for image and video encodebin
Naming encodebins as image-encodebin and video-encodebin to make
it easier for debugging camerabin2.
2011-06-23 00:05:13 -03:00
Thiago Santos
e23e5380d3 camerabin2: Remove unused variable 2011-06-23 00:05:13 -03:00
Thiago Santos
ac2d5821b3 camerabin2: Minor debug message fix 2011-06-23 00:05:13 -03:00
Mark Nauwelaerts
eca1614f08 legacyh264parse: create correct avc codec-data
Fixes #653013.
2011-06-22 10:13:55 +02:00
Mark Nauwelaerts
d631e1b348 legacyh264parse: fix output caps alignment for avc input
... particularly when splitting packetized input.

Fixes #652995.
2011-06-21 12:46:41 +02:00
Mark Nauwelaerts
10bec5c08f h264parse: avc input must either pass-through or be split into bytestream chunks
... since parsing code is not meant to receive avc data.

Fixes #653087.
2011-06-21 12:46:37 +02:00
Mark Nauwelaerts
160207abb9 h264parse: avoid bogus frame parsing state 2011-06-21 12:46:35 +02:00
Thiago Santos
ca8ea19cc3 tsdemux: only free the index array if it exists
Only free the array if it exists.

Contains an unrelated indentation fix, courtesy of gst-indent
2011-06-17 16:18:03 -03:00
Mark Nauwelaerts
6429ead4bc debugutils: add compare element 2011-06-17 12:10:06 +02:00
Mark Nauwelaerts
a1f5b2e0cc colorspace: fix odd width and height handling in some fastpath cases 2011-06-17 12:07:34 +02:00
Wim Taymans
af6d20d90a Moved 'colorspace' from -bad to -base 2011-06-15 16:32:03 +02:00
Wim Taymans
a2b7a672b8 Merge branch 'master' into 0.11
Conflicts:
	android/aacparse.mk
	android/amrparse.mk
	android/h264parse.mk
	android/metadata.mk
	android/qtmux.mk
	android/sdpelem.mk
	configure.ac
	gst/qtmux/gstqtmux.c
	win32/common/config.h
2011-06-15 16:06:36 +02:00
Edward Hervey
c27b16bfe3 videoparsers: Speed up the start code search algorithm
Based on 96a7f9c8b1

Makes it 3-4 times faster
2011-06-12 12:55:40 +02:00
Edward Hervey
7032cd12e7 videoparsers: Fix sink pad template
no wonder it was never picked up ...
2011-06-12 12:40:15 +02:00
Edward Hervey
b3ef72f2eb tsdemux: Don't free unexistent PAT
And cleanup find_timestamps a bit
2011-06-12 11:27:30 +02:00
Edward Hervey
e1a7d71184 tsdemux: More fixes to handle non-188 byte packets 2011-06-07 20:50:35 +02:00
Edward Hervey
6c0254b84b mpegts: Stop scanning for keyframes as early as possible 2011-06-07 20:50:35 +02:00
Janne Grunau
ae2e7624d6 mpegtsdemux: always try to seek for to a keyframe
keyframe is expected to lie in the the next ~2500 ms
2011-06-07 20:50:35 +02:00
Janne Grunau
9352cfc478 mpegtsdemux: fix timestamps in newsegement event after seeking 2011-06-07 20:50:34 +02:00
Janne Grunau
cde65d6d6e mpegtsdemux: payload parsing for H.264 2011-06-07 20:50:34 +02:00
Janne Grunau
ff15d6fa80 mpegtsdemux: implement key_unit seeking for MPEG2 video 2011-06-07 20:50:34 +02:00
Janne Grunau
3ce1ec7c9c mpegtsdemux: accurate seeking
* pes header parsing for pts is ugly, refactor
 * timestamps/newsegment after seeking is still off
2011-06-07 20:50:34 +02:00
Janne Grunau
15391b29e1 mpegtsdemux: push based seeking based on PCR
buffer timestamps are converted to GstClockTime to cover pcr/pts wraps.
multiple pcr/pts wraps are handled with an index which ensures at most
a single pcr wraparound between two entries.
the last seen pcr is recorded to have a nearby index point for short seeks
resuming playback might be delayed if the postion is not a keyframe

TODO: replace manual packet scanning and parsing in the initial duration estimation
2011-06-07 20:50:34 +02:00
Janne Grunau
f89a0abca0 mpegtsdemux: create function for pcr parsing 2011-06-07 20:50:34 +02:00
Janne Grunau
37f1decf78 mpegtsdemux: adaptation field length == 0 is valid
it can be used to insert a single stuffing byte
do not parse the following payload as adaptation field
2011-06-07 20:50:34 +02:00
Stefan Kost
f7fe0c9e6f baseaudiovisualizer: fix last block condition
Also push out the last frame if we have exact amount of samples. Fix the adapter
flushing to not cause endless loops. Drop a redundant avail() check.
2011-06-06 15:25:14 +03:00
Stefan Kost
594134d139 audiovisualizers: add a README with comments and plans 2011-06-06 15:25:14 +03:00
Stefan Kost
f66a88bc70 audiovisualizers: remove some not needed boilerplate 2011-06-06 15:25:14 +03:00
Stefan Kost
0a41b9084e audiovisualizers: add a spacescope element
Add another element that maps left/right channel to x,y coordinates.
2011-06-06 15:25:14 +03:00
Stefan Kost
9936332f0a synaescope: tweak the algorithm
Speed-up the calculation a bit. Keep a few values as doubles. Tune the scaling
to get nices colors.
2011-06-06 15:25:14 +03:00
Stefan Kost
0fd078f156 audiovisualizers: doc-blob and comment updates 2011-06-06 15:25:14 +03:00
Stefan Kost
8b1b28dbc0 audiovisualizers: rename baseclass from basescope to baseaudiovisualizer 2011-06-06 15:25:14 +03:00
Stefan Kost
45464a038e audiovisualizers: rename scopes plugin to audiovisualizers 2011-06-06 15:25:13 +03:00
Stefan Kost
92d36cdbfe scopes: fix elements descriptions 2011-06-06 15:25:13 +03:00
Stefan Kost
7cee23a419 spectrascope: use add_pixel for non-white pixels
https://bugzilla.gnome.org/show_bug.cgi?id=651536
2011-06-06 15:25:13 +03:00
Stefan Kost
b4afe9f690 scopes: add a new element similar to synaesthesia
https://bugzilla.gnome.org/show_bug.cgi?id=651536
2011-06-06 15:25:13 +03:00
Stefan Kost
08ecb1acc0 scopes: draw pixels with signle 32bit writes
https://bugzilla.gnome.org/show_bug.cgi?id=651536
2011-06-06 15:25:13 +03:00
Stefan Kost
2d101863dc basescope: add more shading effects
https://bugzilla.gnome.org/show_bug.cgi?id=651536
2011-06-06 15:25:13 +03:00
Stefan Kost
efe9f3328d basescope: add a property to modify the ammount of shading
Add another property to specify the shading per color channel. Fix endianess
issues in the shading code.

https://bugzilla.gnome.org/show_bug.cgi?id=651536
2011-06-06 15:25:13 +03:00
Stefan Kost
2cd10856d0 basescope: add a backbuffer and apply shading effects
Keep the last frame and apply shade and geometry effects. Expose the shading
effects as a controllable gobject property on the baseclass.

https://bugzilla.gnome.org/show_bug.cgi?id=651536
2011-06-06 15:25:13 +03:00
Stefan Kost
2271946d73 basescope: allow subclasses telling how many sample they need per frame
This allows e.g. FFT based elements to require enough data. If they need more
data than what we get, we flush less from the adapter.

https://bugzilla.gnome.org/show_bug.cgi?id=651536
2011-06-06 15:25:13 +03:00
Stefan Kost
46e3bc48af basescope: remove some comments
Those comments where pointing to example calls that we do in the subclass.

https://bugzilla.gnome.org/show_bug.cgi?id=651536
2011-06-06 15:25:13 +03:00
Stefan Kost
a83b706c12 scopes: add a simple fft based scope
Add a 2nd demo scope that uses a fft.

https://bugzilla.gnome.org/show_bug.cgi?id=651536
2011-06-06 15:25:13 +03:00
Stefan Kost
439c7c47e5 scopes: first version of a scopes plugin using a new baseclass
Add a new baseclass for writing visualisation plugins. Provide a simple wave
oscilloscope as a first subclass.

https://bugzilla.gnome.org/show_bug.cgi?id=651536
2011-06-06 15:25:13 +03:00
Edward Hervey
813ac7bb2d mpegvideoparse: Avoid double scanning of pictures
The incoming data has already been scanned in mpeg_packetizer_add_buf.
We can therefore stop scanning for picture data as soon as we've parsed
the header. Makes mpegvideoparse 2 times faster.

https://bugzilla.gnome.org/show_bug.cgi?id=648933
2011-06-06 12:44:58 +02:00
David Schleef
48d5fc3c4b invtelecine: Remove in favor of fieldanalysis 2011-06-05 10:37:10 -07:00
David Schleef
7b12d4647a Work around changes in g_atomic API
See #651514 for details.
2011-06-04 14:09:30 -07:00
David Schleef
33d96b69be videofilter2: Fix copyright 2011-06-04 14:07:19 -07:00
Tim-Philipp Müller
0777b678f5 gst: some more unused-but-set-variable warning fixes 2011-06-04 20:35:03 +01:00
Debarshi Ray
335293bf50 Remove unused but set variables
This is needed to satisfy the new -Wunused-but-set-variable added in
GCC 4.6: http://gcc.gnu.org/gcc-4.6/changes.html
2011-06-04 20:26:02 +01:00
Luciana Fujii Pontello
23576af52a camerabin2: Adding a filter to wrappercamerabinsrc
Camerabin2 allows setting a filter for image, video or viewfinder, but
not one filter for all three at the same time. I added a filter to
wrappercamerabinsrc to allow setting a global filter when using this
source.

https://bugzilla.gnome.org/show_bug.cgi?id=649822
2011-06-02 16:24:03 -03:00
Thiago Santos
cff308eba2 camerabin2: Use full names in properties
Improve API by using source instead of src in properties
2011-06-02 16:24:03 -03:00
Teemu Katajisto
2a6d25659a camerabin2: do not unref pad template 2011-06-02 16:24:03 -03:00
Edward Hervey
f4c96f1dbb tsdemux: Fix scanning on small files
We were previously:
* Stopping early in the initial PCR scan
* Giving a negative offset for the second PCR scan
2011-05-31 12:58:11 +02:00
Edward Hervey
e3839f0241 mpegtsbase: Don't call program_stopped with a NULL program 2011-05-31 12:58:11 +02:00
Edward Hervey
219c90ce34 legacyh264parse: Delay pushing buffers until we have width/height 2011-05-31 12:58:10 +02:00
David Schleef
db7fe611ed bayer2rgb: Convert to Orc
Seriously faster.  Algorithm is nearly the same as bilinear, which
given the speed of this code, should be considered the baseline of
quality.  Speed appears to be limited by memory bandwidth, so I
didn't bother trying to make it any faster.
2011-05-30 23:50:30 -07:00
David Schleef
f0c75b06a7 bayer2rgb: Rewrite signal processing. Much faster. 2011-05-30 17:04:58 -07:00
Debarshi Ray
03bb5dc8ba Remove unused but set variables
This is needed to satisfy the new -Wunused-but-set-variable added in
GCC 4.6: http://gcc.gnu.org/gcc-4.6/changes.html
2011-05-30 22:52:03 +10:00
Edward Hervey
fc4c49157c Revert "dvdspu: Fix pad templates"
This reverts commit 732828e31c.

It was in fact an issue in core
2011-05-30 13:01:54 +02:00
Edward Hervey
ffc9303c9d tsdemux: Protect against program being removed 2011-05-30 13:01:20 +02:00
Sebastian Dröge
8aebdeb35d faceoverlay: Add gst-plugins-base CFLAGS and LIBS to fix compilation 2011-05-30 12:27:37 +02:00
Laura Lucas Alday
d11178aac0 faceoverlay: Add element that displays an SVG image over a detected face
Fixes bug #642759.
2011-05-30 12:24:31 +02:00
Edward Hervey
732828e31c dvdspu: Fix pad templates
Our caps intersection code is a bit too touchy about what an element
returns compared to its pad templates.
2011-05-29 18:17:55 +02:00
Alessandro Decina
b7e93e6eae h264parse: check for out of range pps_id one layer up 2011-05-29 13:08:16 +02:00
Alessandro Decina
f4ec523b0a mpeg4videoparse: fix compiler warnings 2011-05-29 13:08:16 +02:00
Alessandro Decina
c07424ea4e legacyh264parse: check for out of range pps_id one layer up
Fixes compiler warning comparing guint8 and MAX_PPS_COUNT which is > G_MAXUINT8
2011-05-29 12:57:35 +02:00
Christian Fredrik Kalager Schaller
2e610eb003 Fix missing header file and update spec to work around current compiler issues 2011-05-27 11:06:29 +01:00
Sebastian Dröge
6244704089 debugspy: Use G_PARAM_STATIC_STRINGS 2011-05-26 09:59:35 +02:00
Guillaume Emont
555959a852 debugspy: add new element
This element allows you to get information about buffers with bus messages. It
provides the same kind of information as identity does through a notify signal
on a string property, but in a more programmer-friendly way.
2011-05-26 09:54:39 +02:00
Gabriel Strimtu
d8fd874f52 mpegtsparse: Fix parsing of PSI table IDs
Fixes bug #635917.
2011-05-26 09:46:58 +02:00
Mark Nauwelaerts
e5d5ff4394 h264parse: plug some more buffer leaks 2011-05-25 21:51:55 +02:00
Mark Nauwelaerts
1c4b6fee9b h264parse: compensate for skipped bytes in parsing state offsets 2011-05-25 21:51:55 +02:00
Mark Nauwelaerts
62d9ef42d4 h264parse: fix clearing adapter forming avc output frame
... which needs to be reset upon a new frame and otherwise (only)
for avc input in passthrough mode (rather than on every chain call).
2011-05-25 21:51:55 +02:00
Mark Nauwelaerts
a407d54d9d h264parse: handle all valid pps_id
... which are in range 0-255.
2011-05-25 21:51:55 +02:00
Alessandro Decina
6a8d66728f h264parse: allow full negotiation for packetized input
... by defaulting to allow splitting packetized input and having
negotiation with downstream deciding whether or not this applies.

Also enable pass-through parsing mode if input and output format
(stream-format and alignment) match.

API: GstH264Parse:split-packetized (removed)

Fixes #650228.
2011-05-25 21:51:55 +02:00
Mark Nauwelaerts
89f87d70a8 h263parse: also extract width and height into caps 2011-05-25 21:51:55 +02:00
Andreas Frisch
4a7057048f mpegtsmux: fix pointer output in stream-not-associated debug output
https://bugzilla.gnome.org/show_bug.cgi?id=651050
2011-05-25 14:21:57 +01:00
Lasse Laukkanen
466ca5d460 camerabin: Add image-formatter property
Add image-formatter property in order to let application configure
the formatter element for metadata.
2011-05-23 12:08:37 -03:00
Mark Nauwelaerts
0aaee4eba4 mpeg4videoparse: additional debug tracing 2011-05-23 16:57:26 +02:00
Mark Nauwelaerts
6f5a3ecfa7 videoparsers: add new mpegvideoparse 2011-05-23 16:57:25 +02:00
Mark Nauwelaerts
9c0547b15c mpegvideoparse: rename to legacympegvideoparse 2011-05-23 16:57:25 +02:00
Mark Nauwelaerts
f92f5b70fb h264parse: avoid stale parsing state 2011-05-23 16:57:25 +02:00
Mark Nauwelaerts
930ee466f5 h263parse: simplify minimum frame size handling 2011-05-23 16:57:25 +02:00
Mark Nauwelaerts
217e389689 h264parse: simplify minimum frame size handling 2011-05-23 16:57:25 +02:00
Mark Nauwelaerts
8a3efc4431 mpeg4videoparse: simplify minimum frame size handling 2011-05-23 16:57:25 +02:00
Mark Nauwelaerts
dbb1fecf08 mpeg4videoparse: avoid stale parsing state 2011-05-23 16:57:25 +02:00
Mark Nauwelaerts
afb5b28d66 mpeg4videoparse: port to baseparse 2011-05-23 16:57:25 +02:00
Mark Nauwelaerts
409a51bcea h264parse: gracefully handle truncated input NAL units
Rather than assert'ing in such case, emit warning if the length of a NAL unit
is less than expected 2 and discard it.

Based on patch by Benjamin M. Schwartz <bens@alum.mit.edu>

Fixes #650416.
2011-05-23 16:57:25 +02:00
Thiago Santos
d25908cf81 camerabin2: Do not segfault on null locations
Prevent capture from starting when saving location is set to
NULL
2011-05-20 15:25:08 -03:00
Rafael Diniz
83b5b29639 mpeg[pt]sdemux: Add support for AAC LATM/LOAS streams
Fixes bug #615681.
2011-05-20 10:00:02 +02:00
Stefan Kost
b1f0f2e83f festival: don't leak fd on error 2011-05-20 00:20:07 +03:00
Stefan Kost
ed42bca0dd librfb: don't leak password on error 2011-05-20 00:16:00 +03:00
David Schleef
a898d147ba h264parse: max pps is 255
Fixes #650484.
2011-05-18 13:38:09 -07:00
David Schleef
02daafb9ae mpegtsmux: use gst debug for tsmux library 2011-05-18 12:06:38 -07:00
Stefan Kost
79e3b5b4bb various: fix author tag in element details 2011-05-18 10:31:38 +03:00
Mark Nauwelaerts
c203fd52e8 h264parse: fix some buffer leaks
Fixes #650323.
2011-05-17 12:34:37 +02:00
Mark Nauwelaerts
02e392ca83 h264parse: fixup boilerplate and debug code style 2011-05-17 12:34:30 +02:00
Thiago Santos
5dadb325ae camerabin2: Remove obsolete imagecapturebin
imagecapturebin has been replaced by encodebin, no need
for it anymore
2011-05-16 18:08:41 -03:00
Thiago Santos
e2c67098e9 camerabin2: use jpeg as a container to force jifmux usage
Jifmux should be used as it can do xmp/exif tagging, so this patch
sets jpeg as a container to force it to be used together with
a jpeg encoder
2011-05-16 18:08:41 -03:00
Alessandro Decina
90221c4a82 camerabin2: do proper EOS handling on send_event(eos)
We first let the inner camera EOS. Then we manually post EOS on the image and
video sinks if those are <= READY and so have ignored EOS events.
2011-05-16 18:08:40 -03:00
Alessandro Decina
9e9507b645 camerabin2: use encodebin to encode images 2011-05-16 18:08:40 -03:00
Thiago Santos
993a98c238 jifmux: Bump rank to secondary
jifmux is being used for quite some time and has no open bugs
currently, so we can give it a secondary rank at least.

Fixes #649391
2011-05-16 18:08:40 -03:00
Thiago Santos
ad68fa5831 jifmux: Change class to formatter
jifmux is a formatter and not a muxer

Fixes #649391
2011-05-16 18:08:40 -03:00
Thiago Santos
0b02e595f3 camerabin2: Changing how some properties work
Some properties (like viewfinder-filter) only are taken into use
on NULL->READY transitions and the get/set property was returning
the currently in use value, instead of the last set.

This is bad, as after setting 'a' to 'x', you expect that getting 'a'
will return 'x'. This patch fixes it.

If needed, later we could add current-* properties that are readonly
and get the current value in use.
2011-05-16 18:08:40 -03:00
Lasse Laukkanen
a36edbc1ab camerabin2: Updating PORTING file 2011-05-16 18:08:40 -03:00
Thiago Santos
56007404b6 camerabin2: Adding missing plugin error messages
Whenever a required plugin is missing, camerabin2 should post
a missing plugin message to the bus
2011-05-16 18:08:40 -03:00
Thiago Santos
1c8e1722eb camerabin2: encodebin might not have the requested pad
handle the case where encodebin doesn't have the pad
camerabin2 is requesting, either because of its current profile
or because of missing elements, making it fail to provide
the pad
2011-05-16 18:08:40 -03:00
Thiago Santos
912800fb76 camerabin2: imagecapturebin: Fix tags merging mode
Use merge replace mode to allow new tags to override old ones
and fix the use case where the last sent tags should be serialized
to the captured images.
2011-05-16 18:08:39 -03:00
Thiago Santos
dfdc6255f8 camerabin2: Fix tag handling for videos
In video mode the tags should be pushed after sending the start capture
to the source, this allows the video recording elements to be reset
and leave the flushing state they were at after a previous capture.

This fixes the problem where tags only work for the first video capture
2011-05-16 18:08:39 -03:00
Thiago Santos
d8484f8279 camerabin2: Adding camera source documentation file
Adds a small text file with a brief description of
what is expected from a camerabin2 source element
2011-05-16 18:08:39 -03:00
Thiago Santos
7fd638bd0d camerabin2: viewfinderbin: Post missing plugin messages
Makes viewfinderbin post missing plugin messages when it
can't create an internal elements
2011-05-16 18:08:39 -03:00
Thiago Santos
54a35ab879 camerabin2: Improve missing plugin message
Improves the message text for missing plugin messages from
camerabin2
2011-05-16 18:08:39 -03:00
Thiago Santos
4ca402a470 camerabin2: Update porting file
Update porting file with mention that stop-capture is now
async.
2011-05-16 18:08:38 -03:00
Robert Swain
10b6765fba camerabin2: Fix debug print to show audio/video depending on pad type 2011-05-16 18:08:38 -03:00
Robert Swain
74d4030e3f camerabin2: Fix order of element state change
To change the state of elements in a pipeline, we should mirror the
behaviour of GstBin which starts at the sink element and works its way
upstream.
2011-05-16 18:08:38 -03:00
Marc-André Lureau
e5fc7a9f13 gst/dccp: fix build on newer mingw
Fix this build error:
  CC     libgstdccp_la-gstdccpplugin.lo
In file included from ../../../gst/dccp/gstdccpclientsrc.h:29:0,
                 from ../../../gst/dccp/gstdccpplugin.c:24:
../../../gst/dccp/gstdccp_common.h:32:0: warning: WINVER redefined [enabled by default]
/usr/i686-w64-mingw32/sys-root/mingw/include/_mingw.h:231:0: note: this is the location of the previous definition
In file included from ../../../gst/dccp/gstdccpplugin.c:24:0:
../../../gst/dccp/gstdccpclientsrc.h:58:3: error: unknown type name 'uint8_t'
In file included from ../../../gst/dccp/gstdccpplugin.c:25:0:
../../../gst/dccp/gstdccpserversink.h:74:3: error: unknown type name 'uint8_t'
In file included from ../../../gst/dccp/gstdccpplugin.c:26:0:
../../../gst/dccp/gstdccpclientsink.h:67:3: error: unknown type name 'uint8_t'
In file included from ../../../gst/dccp/gstdccpplugin.c:27:0:
../../../gst/dccp/gstdccpserversrc.h:58:3: error: unknown type name 'uint8_t'
make: *** [libgstdccp_la-gstdccpplugin.lo] Error 1

https://bugzilla.gnome.org/show_bug.cgi?id=650171
2011-05-16 08:53:10 +02:00
Alessandro Decina
adc0817b2a hls: fix handling of strol() overflows 2011-05-15 10:02:20 +02:00
Luis de Bethencourt
5435ae849e coloreffects: Coding style fixes 2011-05-14 12:08:39 +02:00
Thiago Santos
72574962ef camerabin: Use running time for muxing
This patch removes the audio source buffer probe that was used
to re-timestamp buffers to make them start from 0. As muxers
have been fixed to use running time instead of timestamps, this
is not needed anymore.

Fixes bug #646211
2011-05-06 12:45:28 -03:00
Thiago Santos
834dc9ca63 camerabin: Fix typo 2011-05-05 09:57:17 -03:00
Andoni Morales Alastruey
851e9b1f8d hlsdemux: set duration in outgoing buffers
Currently we push each fragment as a single buffer.
2011-05-03 14:39:15 +01:00
Tim-Philipp Müller
7ec71fb446 hlsdemux: fix DURATION query handling
Only answer duration queries in TIME format with a duration
in seconds. Make sure we don't return GST_CLOCK_TIME_NONE as
duration (which is non-0, but still invalid/useless).
2011-05-03 12:01:25 +01:00
Tim-Philipp Müller
0d9dbd4c0f hlsdemux: implement SEEKING query 2011-05-03 11:51:44 +01:00
Tim-Philipp Müller
04a9b099b7 Update orc-generated disted C backup code to orc 0.4.14 2011-04-30 19:46:40 +01:00
Tim-Philipp Müller
6c361963b1 chopmydata: don't push buffers smaller than min-size on eos
When pushing the remaining data on EOS, don't just push whatever
data is left in the adapter, but only push data that's at least
of min-size.
2011-04-30 19:16:03 +01:00
Tim-Philipp Müller
65f481ca63 chopmydata: don't mess with adapter from non-streaming thread on FLUSH_START
Don't try to push remaining data in the adapter on receiving a FLUSH event,
just flush the adapter. Do this on FLUSH_STOP, however, which is serialized,
unlike FLUSH_START, so we don't mess with the adapter at the same time as
the streaming thread.
2011-04-30 19:08:25 +01:00
Philip Jägenstedt
2084044112 y4mdec: add plugin description
https://bugzilla.gnome.org/show_bug.cgi?id=649005
2011-04-30 18:37:22 +01:00
Edward Hervey
21add205b7 tsdemux: Don't leak bufferlist on streams without pads
https://bugzilla.gnome.org/show_bug.cgi?id=648929
2011-04-29 12:47:34 +02:00
Edward Hervey
565f068049 mpegtsbase: Unref buffers we don't use.
Avoids a massive leak :)

https://bugzilla.gnome.org/show_bug.cgi?id=648929
2011-04-29 12:47:34 +02:00
Edward Hervey
c26ca36cf0 mpegtsbase: Don't forget to free the program streams array
https://bugzilla.gnome.org/show_bug.cgi?id=648929
2011-04-29 12:47:34 +02:00
Edward Hervey
390502a093 tsdemux: Free packet buffer even if it doesn't have a payload
This can happen with AFC-only packets. Avoids leaking buffers.

https://bugzilla.gnome.org/show_bug.cgi?id=648929
2011-04-29 12:47:34 +02:00
Tim-Philipp Müller
954977127b 0.10.21.3 pre-release 2011-04-28 00:00:09 +01:00
David Schleef
40f3b4a651 mpegtsdemux,tsdemux: Add byte-stream to h264 caps
Fixes #606662.
2011-04-24 19:40:08 -07:00
David Schleef
55633f5e8f mpegtsmux: Add byte-stream to h264 caps 2011-04-18 09:50:56 -07:00
Tim-Philipp Müller
e5813c9c2c ext, gst: update disted orc backup files 2011-04-17 01:09:33 +01:00
Edward Hervey
b18bf6a018 jpegformat: Fix unitialized variable on macosx 2011-04-16 11:18:44 +02:00
Thiago Santos
19bd1e6d55 camerabin: Do not forget to unref the ffmpegcolorspace
Do not leak the ffmpegcolorspace by unrefing it at dispose
2011-04-15 07:53:43 -03:00
Tim-Philipp Müller
5d6bdf6052 Fix some unused-but-set-variable warnings with gcc 4.6 2011-04-15 00:24:47 +01:00
Tim-Philipp Müller
6f045cb4d8 asfmux: fix unused-but-set-variable warnings with gcc 4.6 2011-04-15 00:24:47 +01:00
Tim-Philipp Müller
276a1390c5 bayer: fix unused-but-set-variable warnings with gcc 4.6 2011-04-15 00:24:47 +01:00
Andoni Morales Alastruey
9334e819e5 hlsdemux: m3u8: return duration in nanoseconds 2011-04-14 15:36:06 +01:00
Andoni Morales Alastruey
9454003249 hlsdemux: fix handling of end of playlist
Don't send the EOS event until we reached the end of the playlist
and the queue is really empty.
2011-04-14 15:36:06 +01:00
Andoni Morales Alastruey
c890a212b6 hlsdemux: fix example pipeline 2011-04-14 15:36:01 +01:00
Andoni Morales Alastruey
3b19ade905 hlsdemux: ignore seek events until it's implemented 2011-04-14 11:47:50 +01:00
Andoni Morales Alastruey
b49461df48 hlsdemux: dispose the fetcher from the same thread it's created 2011-04-14 11:41:56 +01:00
Tim-Philipp Müller
3cadddba83 fpsdisplaysink:: fix compilation with older GLib
g_object_notify_by_pspec() is new in GLib 2.26, but we only require 2.22.
2011-04-14 11:28:58 +01:00
Olivier Crête
747f32a857 dtmf: Move duplicate #defines into a common include
Centralize duplicated constants so they have the same value.
Also standardise minimum tone duration to 250ms and minimum inter-tone
interval to 100ms.
2011-04-13 21:59:42 -04:00
Lasse Laukkanen
26553bfb1d camerabin: Preserve unused imagebin or videobin on NULL
If video or image mode is never selected then respective bin is in NULL state.
Preserve this state when resetting camerabin from PAUSED to READY.
2011-04-13 22:34:35 -03:00
Stefan Kost
cb0d2e9da0 pnm: add LIBTOOLFLAGS = --tag=disable-static 2011-04-13 22:07:58 +03:00
Tim-Philipp Müller
6b4e797513 qtmux: remove qtmux plugin, it has moved to -good
https://bugzilla.gnome.org/show_bug.cgi?id=636699
2011-04-13 18:24:37 +01:00
Olivier Crête
3a0c6c6d60 dtmf: Remove leftover MAEMO_BROKEN defines
Remove defines to work around bugs in old Maemo releases
2011-04-12 16:42:48 -04:00
Lasse Laukkanen
ada43fe3bd camerabin: Fix corner case for preview posting
Fix corner case where video preview image is not posted if stopping
video capture immediately after capture start.
2011-04-11 14:56:35 -03:00
Stefan Kost
b84dd0a766 jpegparse: subtract id-str size from the remaining read
Fixes a regression from the patches in bug #626618.
2011-04-11 18:31:45 +03:00
Stefan Kost
3a4a0c492e jpeg: set tags to NULL at init time and after freeing them 2011-04-11 18:30:17 +03:00
Stefan Kost
b67454b44e jpeg: comment and logging changes 2011-04-11 18:29:28 +03:00
Víctor Manuel Jáquez Leal
824364d152 jpegparse: add gst_jpeg_parse_remove_marker()
This function will remove the whole marker from the buffer.

Also we set it as the default behavior for marker JPG{0-13}? in order to avoid
a useless #if

https://bugzilla.gnome.org/show_bug.cgi?id=626618
2011-04-11 10:38:09 +03:00
Víctor Manuel Jáquez Leal
0e27f49dd4 jpegparse: refactor COM parsing
add gst_jpeg_parse_com () and get_utf8_from_data () to extract and
validate comment format

https://bugzilla.gnome.org/show_bug.cgi?id=626618
2011-04-11 10:38:05 +03:00
Víctor Manuel Jáquez Leal
c9b2c4abfe jpegparse: refactor APP1 parsing
add gst_jpeg_parse_app1 () and extract_and_queue_tags ()

https://bugzilla.gnome.org/show_bug.cgi?id=626618
2011-04-11 10:38:01 +03:00
Víctor Manuel Jáquez Leal
81991e3323 jpegparse: log id when skipping an unhandled APP marker
https://bugzilla.gnome.org/show_bug.cgi?id=626618
2011-04-11 10:37:57 +03:00
Víctor Manuel Jáquez Leal
a1f77eda32 jpegparse: skip all APP markers, excepting APP1
https://bugzilla.gnome.org/show_bug.cgi?id=626618
2011-04-11 10:37:52 +03:00
Víctor Manuel Jáquez Leal
51e57d439e jpegparse: add get_tag_list ()
https://bugzilla.gnome.org/show_bug.cgi?id=626618
2011-04-11 10:37:49 +03:00
Thibault Saunier
17fd7ebcb4 android: make it ready for androgenizer
Remove the android/ top dir
Fixe the Makefile.am to be androgenized

To build gstreamer for android we are now using androgenizer which generates the needed Android.mk files.
Androgenizer can be found here: http://git.collabora.co.uk/?p=user/derek/androgenizer.git
2011-04-11 07:27:11 +02:00
Sebastian Dröge
eaf01f9709 fpsdisplaysink: Add last-message property and never print anything to stdout
Instead everything will be put into the last-message property and
gst-launch -v will print all changes of the property. This makes
the behaviour of fpsdisplay consistent with the fakesink/identity/etc
behaviour.
2011-04-09 10:07:49 +02:00
Sebastian Dröge
291a8048d1 fpsdisplaysink: Rename verbose property to silent for consistency 2011-04-09 10:05:05 +02:00
Tim-Philipp Müller
5365dbfdce videoparsers: port to baseparse, which is now in libgstbase in core 2011-04-09 00:24:03 +01:00
David Schleef
38c6f6366c scenechange: new scene change detection element 2011-04-08 15:51:04 -07:00
Tim-Philipp Müller
9bfac61f97 Remove audioparsers plugin, it has been moved to -good 2011-04-08 19:34:55 +01:00
Sebastian Dröge
a7cbd201b1 fpsdisplay: Use PROP_ instead of ARG_ for the property enums 2011-04-08 14:08:10 +02:00
Philippe Normand
26bc5537ce fpsdisplay: Add verbose property
When this property is set to TRUE the element will display statistics
on stdout.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=647030
2011-04-08 14:06:10 +02:00
Mark Nauwelaerts
c77e11fd4a mpegaudioparse: relax sync match a bit when draining
... to at least allow initial caps change (but no further caps jitter).
2011-04-07 18:33:33 +02:00
Robert Swain
4cd15193bb fieldanalysis: Use RFF flag to indicate buffers to drop downstream
Use of the GAP flag is not really correct here and makes it difficult to
handle real GAP buffers in deinterlace. The RFF flag is unused and can
be reused with similar semantics - the buffers marked with RFF that are
in a telecine state contain only unneeded repeated fields and so can be
dropped.
2011-04-07 10:21:39 +02:00
Tim-Philipp Müller
9c5863ad35 camerabin: don't rely on the application running the default GLib main loop
Don't use g_idle_add() and friends to schedule things we can't do from the
streaming thread in another thread. The app may not be running the default
GLib main loop. Instead, just spawn a thread.

Also, we need to care for when acessing a pad variable, as another thread
might have taken camerabin to NULL while this gst_camerabin_imgbin_finished
didn't run.

https://bugzilla.gnome.org/show_bug.cgi?id=615655
2011-04-05 14:40:35 -03:00
Mark Nauwelaerts
1e22e29cd3 mpegaudioparse: require tighter sync match when draining 2011-04-04 20:56:32 +02:00
Mark Nauwelaerts
888dac9887 qtmux: more helpful debug error message when no needed duration on input buffers
Fixes #646256.
2011-04-04 12:29:57 +02:00
Andoni Morales Alastruey
650418b9d8 hlsdemux: validate properly utf-8 playlist 2011-04-04 09:14:05 +02:00
Andoni Morales Alastruey
650142f054 hlsdemux: m3u8: clear the list of media files before updating the playlist 2011-04-04 09:13:41 +02:00
Andoni Morales Alastruey
e13ef203e3 hlsdemux: use and adapter instead of costful buffer joins 2011-04-04 09:13:26 +02:00
David Schleef
a8f047f689 Remove setting of plugindir from Makefiles 2011-04-01 13:54:02 -07:00
Thiago Santos
12f539c6bb hlsdemux: Another windows build fix
Replace %lld with %u as GST_BUFFER_SIZE is a guint
2011-04-01 16:52:48 -03:00
Thiago Santos
944d54e359 hls: Fix compilation on windows
Use string literal on printing format
2011-04-01 16:12:50 -03:00
Thiago Santos
6a4be5a2ba camerabin: Processing should stop on READY
The videobin and imagebin from camerabin have their states
locked and aren't put to READY when all the rest of camerabin
is set to it.

This might cause one of them to be still processing and post
an EOS after camerabin isn't expecting it anymore, this causes
an assertion as the processing counter would already be 0 and
would be decremented.
2011-04-01 13:42:33 -03:00
Sebastian Dröge
7858d65b4a segmentclip: Keep a reference of events until the event is parsed 2011-04-01 15:02:36 +02:00
Sebastian Dröge
b2c90da38e mpegaudioparse: Parse encoder delay and encoder padding from the LAME header if present 2011-04-01 15:02:36 +02:00
Tim-Philipp Müller
6edcf4fbe6 hlsdemux: update for media type was renaming from playlist/m3u8 to application/x-hls 2011-03-30 15:53:12 +01:00
Sebastian Dröge
e24a43c61b hlsdemux: Some minor cleanup
Use GST_DEBUG_FUNCPTR and G_PARAM_STATIC_STRINGS
2011-03-30 10:11:24 +02:00
Andoni Morales Alastruey
d5e4f8caf8 hlsdemux: fix indentation and docs sections 2011-03-30 09:19:24 +02:00
Andoni Morales Alastruey
91196418ea hlsdemux: don't leek the query 2011-03-30 09:19:23 +02:00
Andoni Morales Alastruey
77c0971b62 hlsdemux: check if the task's cond was signaled because it's the end of playlist 2011-03-30 09:19:23 +02:00
Andoni Morales Alastruey
42470cd313 hlsdemux: post a message in the bus when the playlist changes 2011-03-30 09:19:23 +02:00
Andoni Morales Alastruey
daeed217e5 hlsdemux: don't update the playlist if we stay in the same bitrate 2011-03-30 09:19:23 +02:00
Andoni Morales Alastruey
cd0aeb2403 hlsdemux: Add support for URI queries 2011-03-30 09:19:23 +02:00
Andoni Morales Alastruey
5daae4bb18 hlsdemux: Add support for duration queries 2011-03-30 09:19:23 +02:00
Andoni Morales Alastruey
18cd90e73f hlsdemux: m3u8: protect public methods properly 2011-03-30 09:19:23 +02:00
Andoni Morales Alastruey
09b2b31422 hlsdemux: m3u8: add support to get the duration from a playlist 2011-03-30 09:19:22 +02:00
Andoni Morales Alastruey
c599e4a9a1 hlsdemux: don't print an error if the download was cancelled 2011-03-30 09:19:22 +02:00
Andoni Morales Alastruey
4602b42dee hlsdemux: make sure the fetcher state change is complete before continuing 2011-03-30 09:19:22 +02:00
Andoni Morales Alastruey
c580ff26a4 hlsdemux: don't leak the first buffer 2011-03-30 09:19:22 +02:00
Andoni Morales Alastruey
ec1d03e1b4 hlsdemux: clean up code a little bit 2011-03-30 09:19:22 +02:00
Andoni Morales Alastruey
1450233a21 hlsdemux: only check for the end of playlist when the queue is empty 2011-03-30 09:19:22 +02:00
Andoni Morales Alastruey
b765260098 hlsdemux: make sure to stop fragments cache if something cancelled it 2011-03-30 09:19:22 +02:00
Andoni Morales Alastruey
fe883740c5 hlsdemux: reuse the code in reset() to free resources in dispose() 2011-03-30 09:19:21 +02:00
Andoni Morales Alastruey
5a40a62ff4 hlsdemux: use a typefinder to set the caps in the source pad 2011-03-30 09:19:21 +02:00
Andoni Morales Alastruey
3fa4b22149 hlsdemux: add more comments and document better all the threads involved 2011-03-30 09:19:21 +02:00
Andoni Morales Alastruey
8a683fc035 hlsdemux: handle 404 from the source element 2011-03-30 09:19:21 +02:00
Andoni Morales Alastruey
cbba7c8bc5 hlsdemux: stop the fetcher in the PAUSED_TO_READY transition, not when disposing() 2011-03-30 09:19:21 +02:00
Andoni Morales Alastruey
b9a0b4ddd4 hlsdemux: make sure we don't stop the fetcher twice from different threads 2011-03-30 09:19:21 +02:00
Andoni Morales Alastruey
6a0aec0639 hlsdemux: query the uri upstream before updating the playlist 2011-03-30 09:19:20 +02:00
Andoni Morales Alastruey
9aff2de625 hlsdemux: Add HTTP live streaming demuxer element
Based on previous work by Marc-André Lureau
2011-03-30 09:19:20 +02:00
Thiago Santos
dfe64965d7 jifmux: Add GstTagXmpWriter support
Adds GstTagXmpWriter interface to jifmux element
2011-03-29 17:55:58 -03:00
Thiago Santos
3061e8d7c8 qtmux: Adding GstTagXmpWriter interface
Adds GstTagXmpWriter interface support to qtmux
2011-03-29 17:55:58 -03:00
David Schleef
4a8ba50cb2 mpegtsmux: Fix 64-bit printf format problem 2011-03-27 13:57:05 -07:00
Tim-Philipp Müller
c10ef4df20 dccpserversink: fix list iteration code
Fix suboptimal list iteration code, and add some FIXMEs.
2011-03-27 17:22:52 +01:00
Tim-Philipp Müller
9bd9b8bf72 patchdetect: link against libm
Link against libm. Include math-compat.h header. Don't link against
orc, since it's not actually used.

https://bugzilla.gnome.org/show_bug.cgi?id=645711
2011-03-26 12:45:24 +00:00
Jan Schmidt
5111540ceb Use correct clock when checking whether to write a new PCR
The PCR clocks against the 27MHz SCR clock, so check it correctly
to avoid writing the PCR too often.

Partially fixes: #611046
2011-03-26 16:18:22 +11:00
Jan Schmidt
9a26173a57 Rewrite M2TS packet output
Make sure we only write the bottom 30 bits of the PCR to the m2ts header.
Don't use floating point computation for it, and remove weird bit fiddling
that messes up the PCR in a way I can't find any
justification/documentation for.

Don't accidentally lose PCR packets from the output.

Fix the description for the m2ts-mode property so it's clear it's a flag,
and which setting does what.

Fixes: #611061 #644429
Partially fixes: #645006
2011-03-26 16:18:22 +11:00
Jan Schmidt
2721e943e2 Fix a FIXME, and some whitespace/code style bits.
Also, add a new copyright notice for me.
2011-03-26 16:18:22 +11:00
Sebastian Dröge
1911cb8706 aiffparse: Add float caps to the template caps 2011-03-25 08:33:37 +01:00
René Stadler
379d5adfce mpegtsdemux: ensure cleanup of pes/section filter helper structures
In particular, the section_filter would not be cleared for a private section
stream, leaking a GstAdapter. Seen on bug #645502.
2011-03-24 22:42:08 +02:00
René Stadler
1d8482c0c6 mpegtsdemux: don't leak pad name
As seen on bug #645502.
2011-03-24 22:41:12 +02:00
René Stadler
cfb22fe985 h264parse: free PPS NAL buffers on cleanup
Obviously a typo. Fixes bug #645502.
2011-03-24 22:39:04 +02:00
René Stadler
3e4e198c5e h264parse: don't leak all NAL buffers
gst_buffer_replace() doesn't steal the ref. Partial fix for bug #645502.
2011-03-24 21:53:13 +02:00
Janne Grunau
bc91adcf55 mpegtsdemux: fix stream_info descriptor parsing 2011-03-24 15:18:34 +01:00
Arun Raghavan
4dda05ad66 dcaparse: Bump rank to primary+1
Seems to work fine with a reasonably wide range of media, so bumping
rank.
2011-03-24 18:43:22 +05:30
Sebastian Dröge
e6a4b71b90 aiffparse: Add support for 32 bit and 64 bit floating point formats 2011-03-24 10:13:47 +01:00
Sebastian Dröge
5c97b148a9 aiffparse: The SSND header is 16 bytes large, not 8 + 16 bytes
Fixes bug #645568 and playback in pull mode for sample widths > 8 that
are not a multiple of 2 bytes (e.g. 24 bit samples).
2011-03-24 09:59:20 +01:00
Sebastian Dröge
dbc2f7c4a8 aiffparse: Use gst_util_uint64_scale_ceil() instead of a custom function 2011-03-24 09:29:35 +01:00
David Schleef
0249d55cd8 patchdetect: new element
Detects Munsell ColorChecker in a video image and automatically
white balances and color corrects based on the detected values.
This element is only a demonstration at this stage, it needs to
be separated into two elements.
2011-03-23 21:33:49 -07:00
David Schleef
ec6e7c42e2 sdi: Add raw SDI muxing/demuxing elements 2011-03-23 21:33:48 -07:00
Thiago Santos
d2e1f1bdc6 camerabin2: Only mark video capture as finished after EOS
Instead of probing the videosink sinkpad for passing EOS, better
to wait for EOS from the bus.

This makes sure the filesink has already processed it and is
ready to close the file. This is used to notify applications
that camerabin2 is idle and can be shut down.
2011-03-23 16:50:12 -03:00
Robert Swain
6a686316d5 basecamerasrc: camerabin2: wrappercamerabinsrc: Add read-only max-zoom prop
This is not implemented in any of our real sources to which wrappercamerabinsrc
might connect but this is optional and can be implemented at any time. A
limit on the software zoom level using video{crop,scale} would be arbitrary.
2011-03-23 16:48:11 -03:00
Thiago Santos
aa7b962891 camerabin2: Improve idle property usage
Use resource warning messages to notify camerabin2 that a capture
as aborted or couldn't be started, making it decrement the
processing counter and making the idle property more reliable.
2011-03-23 16:13:32 -03:00
Thiago Santos
6913db30f8 camerabin2: No need to force audiosrc to null on stop_capture
Setting the audio source to null isn't needed and it could
make the EOS that is still flowing be dropped if autoaudiosrc
is used because its pads go flushing before the EOS gets pushed
from the real source.
2011-03-23 16:13:32 -03:00
Thiago Santos
3dc9a0e9c6 camerabin2: Adds new idle property
Adds idle property (just like camerabin1), a boolean that
is true when camerabin2 isn't processing and can be shut down
without losing data.
2011-03-23 16:13:32 -03:00
Thiago Santos
19628ec3f3 camerabin2: Adding properties for image capture settings
Adds properties for selecting image encoder and muxer for
image capture
2011-03-23 16:13:32 -03:00
Thiago Santos
223697c2b9 camerabin2: More debug log
Small refactoring and adding more debug log to encodebin related
paths
2011-03-23 16:13:32 -03:00
Arun Raghavan
ec23bc2768 dcaparse: Expose frame size in caps
This exports the size of the frame (number of bytes from one sync point
to the next) as the "frame_size" field in caps.
2011-03-23 22:42:16 +05:30
Arun Raghavan
e83f53dbed dcaparse: Expose block size in caps
This sets the "block_size" field on caps as the number of samples
encoded in one frame.
2011-03-23 22:42:16 +05:30
Mark Nauwelaerts
c558a066fb qtmux: use running time for synchronization
See also #432612.
2011-03-22 20:53:08 +01:00
Mark Nauwelaerts
82a152533d h264parse: chain up to parent finalize 2011-03-22 13:50:27 +01:00
Chris E Jones
1c4f32b279 scaletempo: Correctly handle newsegment events with stop==-1
Fixes bug #645420.
2011-03-22 13:46:42 +01:00
David Schleef
a02c4d6c4c zebrastripe: Add new GstVideoFilter2 base class
An experiment.  Not completely happy with it.
2011-03-21 13:42:37 -07:00
Mart Raudsepp
b69450af92 mpegtspacketizer: Handle all ISO8859-x encodings in get_encoding()
... according to ETSI EN 300 468, "Selection of character table"
2011-03-21 19:57:39 +01:00
Janne Grunau
3ebc8a43e2 mpegtsdemux: do not try to parse packets containing section data as PES 2011-03-21 19:30:17 +01:00
Janne Grunau
bf046719a2 mpegtsdemux: add stream types for DSM CC A, B, C, D 2011-03-21 19:27:08 +01:00
Janne Grunau
74a8e966f5 mpegtsdemux: fix playback if PMT is seen before PAT
The stream for the PMT pid has to be cleared since the version checking
in the packetizer won't emit the same PMT again otherwise.
2011-03-21 19:24:08 +01:00
Andreas Frisch
5867b69aa3 h264parse: Set parsed=true in the srcpad caps
Fixes bug #645412.
2011-03-21 16:52:02 +01:00
Benjamin Gaignard
8c48375817 fpsdisplaysink: add "frames-dropped" and "frames-rendered" properties
https://bugzilla.gnome.org/show_bug.cgi?id=643469
2011-03-18 12:46:32 +00:00
Sebastian Dröge
bdf51f12d2 dvbsuboverlay: Remove some unused variables in the I420 blending function 2011-03-18 09:33:26 +01:00
Raimo Järvi
9e7d1ba888 dvbsuboverlay: Fix using alpha values in blitting.
Use each pixel's own alpha value instead of average alpha value when
calculating color components. Fixes bug #639763.
2011-03-18 09:27:08 +01:00
Tim-Philipp Müller
d8f5745186 mpegaudioparse: add FIXME for making the base class use xing seek tables better 2011-03-17 20:52:07 +00:00
Lasse Laukkanen
fbe4f5f610 camerabin: Add an assertion to preview pipeline generation
Adds an assertion in case the preview pipeline is NULL and also
explicitly initializes preview caps to NULL for clarity.
2011-03-15 09:18:31 -03:00
Sebastian Dröge
48e8c093dc dcaparse: Add depth and endianness to the caps
Some decoders can only handle specific endianness or a fixed
depth and this allows better negotiation.

Fixes bug #644208.
2011-03-14 18:26:53 +01:00
Tim-Philipp Müller
0276663d0c mpegtsmux: fix broken pad caps refcount handling
gst_caps_make_writable() takes ownership of the caps passed in, but
the caller doesn't own a ref to the caps here, because GST_PAD_CAPS
doesn't return a ref. Looks like the code relied on a caps leak
elsewhere for this to work properly.
2011-03-14 12:42:33 +00:00
Tim-Philipp Müller
70e71562b7 mpegtsmux: don't error out if downstream fails to handle the newsegment event
If downstream doesn't handle the newsegment event, don't error out (esp.
not without posting a proper error message on the bus), but just continue.
If there's a problem, we'll find out when we start pushing buffers.

https://bugzilla.gnome.org/show_bug.cgi?id=644395
2011-03-14 12:42:33 +00:00
Andreas Frisch
aac497b635 mpegtsmux: remove unused variable 2011-03-14 12:42:33 +00:00
Thiago Santos
ba878f7427 camerabin2: Set queues to silent
Optimize a little by setting queues to silent
2011-03-11 18:41:16 -03:00
Thiago Santos
b2f39d1844 camerabin2: Refactoring encodebin usage
Refactor some common code regarding encodebin usage in camerabin2
2011-03-11 18:40:52 -03:00
Thiago Santos
79bb475abe camerabin2: Some memleak fixes 2011-03-11 18:26:43 -03:00
Robert Swain
5fd15521e2 basecamerasrc: wrappercamerabinsrc: camerabin2: Expose/add floating point
zoom property
2011-03-11 18:26:43 -03:00
Robert Swain
b38bf37218 wrappercamerabinsrc: Remove dead definition
This definition is unused in this code.
2011-03-11 18:26:43 -03:00
Thiago Santos
18602e6e4e wrappercamerabinsrc: Avoid clearing recording caps
When recording 2 videos in sequence with the same video-capture-caps,
the second video would get a not-negotiated error because the
src caps were being cleared without any intention of
renegotiating it back to the requested capture caps.

This patch avoids this caps reset procedure unless a new
caps was set.
2011-03-11 18:26:42 -03:00
Sebastian Dröge
935675a060 diracparse: Add correct template caps and element details 2011-03-11 14:37:06 +01:00
Tim-Philipp Müller
90c96fc17b camerabin2: don't leak element name strings
Don't leak string copy returned by gst_element_get_name(). Also, check
for certain elements by checking the plugin feature / factory name, not
the assigned object name.
2011-03-11 10:34:23 +00:00
Tim-Philipp Müller
53a9b430f3 build: remove more tarkin/theoraexp build cruft 2011-03-11 10:26:01 +00:00
David Schleef
d247cf8e6d theora,tarkin: Remove ancient unused code 2011-03-10 13:44:16 -08:00
Mark Nauwelaerts
e76fc42417 qtmux: provide for PTS metadata when so configured
... and not only when sort-of feeling like it.
In any case, if it turns out all really is in order,
and presumably DTS == PTS, then no ctts will be produced anyway.
2011-03-10 17:06:31 +01:00
Mark Nauwelaerts
4f8f8407a0 qtmux: also track original PTS buffer timestamp in reorder dts-method 2011-03-10 17:06:12 +01:00
Thiago Santos
3d1a7b0021 camerabin2: Force EOS on audio src
We can't rely on audio sources pushing EOS when going PAUSED->READY
because this is a basesrc bahavior and when used inside autoaudiosrc
the ghostpad goes flushing before the real source pushes the EOS,
so it is dropped.
2011-03-10 08:56:48 -03:00
Thiago Santos
42ade52136 wrappercamerabinsrc: No need for starting segment 2011-03-10 08:56:48 -03:00
Thiago Santos
ba16894da3 gstcamerabin2: Set encodebin's videorate and audiorate properties
Listen to encodebin's element-added signal to be able to set
skip-to-first on both audiorates and videorates.
2011-03-10 08:56:48 -03:00
Thiago Santos
fc9c9b0f24 camerabin2: Handle audio elements states
Audio elements are put into bin only when needed, so we need
to be careful with their states as camerabin2 won't manage
them if they are outside the bin.

Also we should reset their pad's flushing status before
starting a new capture.
2011-03-10 08:56:48 -03:00
Thiago Santos
8fe75f8067 camerabin: adding audio related properties
Adds 4 audio properties related to audio recording
* audio-src
* mute
* audio-supported-capture-caps
* audio-capture-caps
2011-03-10 08:56:48 -03:00
Thiago Santos
abdb0bbfa6 camerabin2: Adding audio support for video recordings
Adds an audio source and audio capsfilter/queue/convert, creating
a new branch on camerabin2 that is used to feed encodebin with
audio buffers for video recording.
2011-03-10 08:56:47 -03:00
Thiago Santos
992917b6aa camerabin2: Add logging for stop-capture signal 2011-03-10 08:42:01 -03:00
Thiago Santos
bcc6d99bbe camerabin2: Add viewfinder caps related properties
Adds properties to check what caps are supported on the
viewfinder (from the camerasrc viewfinder pad) and another
one to set a caps for the viewfinder.
2011-03-10 08:42:01 -03:00
Thiago Santos
582c150658 wrappercamerabinsrc: Fix newsegment pushing
Send update newsegments instead of non-update ones
for the video branch when starting recordings
2011-03-10 08:42:01 -03:00
Thiago Santos
d3a5058611 camerabin2: Set some queue's properties
Sets viewfinder queue to leaky and tell image branch
queue to don't care about durations
2011-03-10 08:42:01 -03:00
Thiago Santos
4624e88b08 wrappercamerabinsrc: Ready is enough for forcing a caps change 2011-03-10 08:42:01 -03:00
Thiago Santos
b56d9d3ba0 wrappercamerabinsrc: Check for downstream caps on first captures
Use video_renegotiate and image_renegotiate booleans to make
the videosrc negotiate the capture caps on the first capture because
the caps might be set before wrappercamerabinsrc goes into PLAYING
and pads drop the internal renegotiate event.

This is required as the output-selector is using the 'none' negotiation
mode.
2011-03-10 08:42:01 -03:00
Thiago Santos
4da517ae87 wrappercamerabinsrc: Avoid fixating capture caps
When setting the internal capsfilter caps for capture we should put
the full caps instead of trying to fixate it ourselves. This way we let
the elements (and mostly the source) select the best format instead
of defaulting to what the pad fixation function picks.
2011-03-10 08:42:00 -03:00
Thiago Santos
b3abf91232 camerabin2: Moving preview image properties to basecamerasrc
Moves preview image related properties to basecamerasrc as that
should be present on all camerasrcs
2011-03-10 08:42:00 -03:00
Thiago Santos
0255584d90 camerabin2: Move preview helper functions to basecamerabinsrc
Move preview helper functions to baseacamerabinsrc so they can
be reused by multiple camerabin2 sources.
2011-03-10 08:42:00 -03:00
Thiago Santos
060611b060 camerabin2: Add viewfinder-sink property
Adds a property to set the viewfinder's sink of camerabin2
2011-03-10 08:42:00 -03:00
René Stadler
64db3d805f fieldanalysis: fix double free() crashes 2011-03-09 13:19:50 +02:00
Wim Taymans
bbf9cd7f13 Merge branch 'master' into 0.11 2011-03-08 17:29:20 +00:00
Byeong-ryeol Kim
acb66eb7f4 videofilters: link to libm
https://bugzilla.gnome.org/show_bug.cgi?id=644176
2011-03-08 11:19:41 +00:00
David Schleef
82c60bdc44 zebrastripe: New element
Adds zebra stripes to overexposed video.
2011-03-07 00:14:29 -08:00
Wim Taymans
357fcbc306 Merge branch 'master' into 0.11 2011-03-04 13:29:28 +01:00
Edward Hervey
8d050d2116 videoparsers: Fix unitialized variables
Makes macosx compiler happy
2011-03-04 12:15:32 +01:00
Edward Hervey
605352f118 rtpvp8: Fix unitialized variable
Makes macosx compiler happy.
2011-03-04 12:15:32 +01:00
Tim-Philipp Müller
a4b4eeb86c fieldanalysis: add backup files for compiling without orc 2011-03-04 09:25:49 +00:00
Tim-Philipp Müller
e9b29e9dc7 h263parse: allocate H263Params struct on the stack
It's flat and not kept around for longer.
2011-03-03 08:51:28 +00:00
Tim-Philipp Müller
88cd418bc9 h263parse: minor clean-ups
const-ify some arguments and re-indent header a little.
2011-03-03 08:51:21 +00:00
benjamin gaignard
588db0bf51 fpsdisplay: fix sync property default value 2011-03-03 09:51:11 +02:00
Robert Swain
14fb720149 fieldanalysis: Add fieldanalysis element
This element analyses video buffers to identify if they are progressive,
interlaced or telecined and outputs buffers with appropriate flags for a
downstream element (which will be the deinterlace element, after some
forthcoming modifications) to be able to output progressive frames and
adjust timestamps resulting in a progressive stream.
2011-03-01 18:45:52 +01:00
Wim Taymans
2694086ace mxf: fix class struct
Fix class parent structure
Metadata is now GObject
2011-02-28 12:06:57 +01:00
Wim Taymans
cbb7fa5701 miniobject: port to new 0.11 API
Remove miniobject and buffer subclassesusing GObject subclasses and
metadata.
2011-02-28 12:06:57 +01:00
Wim Taymans
2eb38991c6 Merge branch 'master' into 0.11
Conflicts:
	configure.ac
	win32/common/config.h
2011-02-28 12:06:12 +01:00
David Schleef
a68137c4dc Revert "aacparse: allow parsed frames on sink pad"
This reverts commit e49b89d5c5.
2011-02-26 13:55:51 -08:00
David Schleef
0bb6b6f245 colorspace: set dithering enum directly 2011-02-25 20:00:41 -08:00
David Schleef
afc7483247 colorspace: Add support for r210 2011-02-25 20:00:41 -08:00
David Schleef
e49b89d5c5 aacparse: allow parsed frames on sink pad 2011-02-25 20:00:41 -08:00
Edward Hervey
715529c963 Revert "Check that collectpads exists before removing pad"
This reverts commit 6d8740476c.

Depends on a core commit that was reverted
2011-02-21 12:14:59 +01:00
David Schleef
6d8740476c Check that collectpads exists before removing pad
The core now calls release pad from finalize, at which point
the collectpads might have already been freed.
2011-02-20 23:58:26 -08:00
David Schleef
cad8a864ff colorspace: Fix YUV->RGB matrixing 2011-02-20 23:03:47 -08:00
David Schleef
ab953ddf2f colorspace: Add dithering
Dithering only happens when a 16-bit-per-channel format is
involved.
2011-02-20 23:03:47 -08:00
David Schleef
f64b66ab23 colorspace: fix a few formats 2011-02-20 14:15:28 -08:00
David Schleef
6fcdba78a8 colorspace: Add 16-bit-per-channel handling 2011-02-20 12:39:38 -08:00
David Schleef
3192e69c0c colorspace: Fix memleak 2011-02-20 12:17:59 -08:00
Tim-Philipp Müller
493082abd7 videoparsers: change plugin filename from libgsth263parse* to libgstvideoparsersbad*
Due to a registry bug you may need to manually remove your
registry file to make the new plugin appear with >0 features.
2011-02-18 15:27:10 +00:00
Tim-Philipp Müller
6e321d2d87 mpegtspacketizer: fix log message printf format 2011-02-18 15:17:17 +00:00
Tim-Philipp Müller
b96cf817a0 videoparsers: fix build
Add includes and link against new libgstbaseparse in the
build tree.
2011-02-18 12:39:55 +00:00
David Schleef
de968b6c7d mpegtsdemux: Fix disting of headers 2011-02-17 14:43:38 -08:00
David Schleef
e9ea237d03 videoparsers: Add dirac parser 2011-02-17 14:43:35 -08:00
David Schleef
fa3ff9e5ed baseparse: Create baseparse library 2011-02-17 13:57:56 -08:00
David Schleef
0a786810af dvdsubdec: make up clut values if they weren't set 2011-02-17 13:51:04 -08:00
David Schleef
455aaa3fbd mpegtsmux: fix release_pad
Remove bogus freeing of pad element_private data that we
never set (collectpads uses it, which causes confusion here).
Also, check that our collectpads instance exists before using
it.  Partial fix for #636011.
2011-02-17 13:47:52 -08:00
Janne Grunau
92d5ea2926 mpegtsdemux: use G_GUINT64_FORMAT as format specifier for guint64
fixes compilation on 32bit
2011-02-17 12:51:07 -08:00
David Schleef
df1a470d5d colorspace: Fix memory leak 2011-02-17 12:45:17 -08:00
Janne Grunau
535bf57d1f mpegtsdemux: relicense gstmpegdefs.h, gstmpegdesc.h and gstmpegdesc.c to LGPL only
with permission from the license header:
"""
This library is licensed under 2 different licenses and you
can choose to use it under the terms of either one of them. The
two licenses are the MPL 1.1 and the LGPL.
"""
2011-02-17 17:57:17 +01:00
Janne Grunau
22ecf13e42 mpegtsdemux: add MPEG TS demuxer rewrite from Edward Hervey
with contributions from Miquel Angel Farre Guiu and Zaheer Abbas Merali
2011-02-17 17:56:59 +01:00
Mark Nauwelaerts
2bb835f69a baseparse: tune QUERY_SEEKING response
Even if we currently do not have a duration yet, assume seekable if
it looks like we'll likely be able to determine it later on
(which coincides with needed information to perform seeking).
2011-02-17 14:13:08 +01:00
Mark Nauwelaerts
99baf8ae17 baseparse: tune QUERY_SEEKING response
Even if we currently do not have a duration yet, assume seekable if
it looks like we'll likely be able to determine it later on
(which coincides with needed information to perform seeking).

Fixes #641047.
2011-02-17 13:00:59 +01:00
Teemu Katajisto
7e9fb16c48 camerabin: application element memory leak fixes
If videobin/imagebin was never set to READY state the ownership
 of elements created and set by application were never taken by
 bin and therefore gst_object_sink is called for these elements
 before unreffing (they may still be in floating state and not
 unreffed properly without sinking first)
2011-02-11 09:22:59 -03:00
Arun Raghavan
3f683e0288 baseparse: Update min/max bitrate before first posting them
This avoids posting an initial min-bitrate of G_UINTMAX and max-bitrate
of 0.

https://bugzilla.gnome.org/show_bug.cgi?id=641857
2011-02-09 18:30:51 +01:00
Arun Raghavan
cfc3f5e43b mpegaudioparse: Post CBR bitrate as nominal bitrate
Even if VBR headers are missing, we can't guarantee that a stream is in
fact a CBR stream, so it's safer to let baseparse calculate the average
bitrate rather than assume a CBR stream. However, in order to make
/some/ metadata available before the requisite number of frames have
been parsed, this posts the bitrate from the non-VBR headers as the
nominal bitrate.

https://bugzilla.gnome.org/show_bug.cgi?id=641858
2011-02-09 18:30:48 +01:00
Luciana Fujii Pontello
fa45b1fe2d camerabin: Always take photo when preview-caps is set
When filename is not set, but preview-caps is set, take the photo and
send its preview.
2011-02-09 13:42:07 +02:00
Luciana Fujii Pontello
2522a672a9 camerabin: Events with select-all in input-selector
When select-all was set, input-selector wasn't handling upstream events.
Now input-selector forwards the event to all of its sink pads. This
changes the input-selector internal to camerabin until it is replaced
with a better solution.
2011-02-09 13:42:06 +02:00
Thiago Santos
15366355a4 wrappercamerabinsrc: Do not re-set the clock if it is null
Avoids not needed work and doesn't assert when trying to
unref the null reference
2011-02-08 11:24:59 -03:00
Mark Nauwelaerts
c85e8e8015 amrparse: a valid amr-wb frame should not have reserved frame type index
See #639715.
2011-02-07 19:59:21 +01:00
Thiago Santos
186d317a2f imagecapturebin: Fix property setting
Set the property on the child and not on itself causing infinite
looping
2011-02-03 19:10:07 -03:00
Thiago Santos
48b05a3002 wrappercamerabinsrc: Fix preview messages
Image previews where being posted in sync with the buffers
timestamps, this makes no sense as previews should be posted ASAP.

Also adds some debugging messages.
2011-02-03 19:09:20 -03:00
Thiago Santos
1a62d9374b wrappercamerabinsrc: Handle src state change to avoid losing timestamps
Camerabin2 uses state changes to force the source to renegotiate its
caps to the capture formats. The state changes makes the source lose
its clock and base_time, causing it to stop timestamping the buffers.

We still need a proper way to make sources renegotiate its caps, so this
patch is a hack to make the source continue timestamping buffers even
after changing state. The patch works by getting the clock and base
time before doing the state change to NULL and setting them back
after putting it to PLAYING again. It also cares to drop the first
new segment after this state change.
2011-02-03 19:09:20 -03:00
Thiago Santos
869a61343c camerabin2: Add preview-filter property
Adds a property to select a custom element for preview pipeline
buffers processing
2011-02-03 19:09:20 -03:00
Thiago Santos
675632b382 camerabin2: Add custom filter properties
Adds custom filter properties for camerabin2. Custom filters
can be added to video/image/preview branches.
2011-02-03 19:09:20 -03:00
Edward Hervey
4724ecfd06 camerabin: Initialize variables
Makes compilers happy
2011-02-03 16:24:24 +01:00
Mark Nauwelaerts
c32a99559d dccp: use socklen_t where appropriate rather than specific type
In particular, fixes Cygwin build where socklen_t is defined as int
in line with native win32 api definition.
2011-02-01 21:36:41 +01:00
Tim-Philipp Müller
17c2b30e9b rtpvp8: also link against libgstbase-0.10 for adapter and bit reader API
https://bugzilla.gnome.org/show_bug.cgi?id=641178
2011-02-01 20:05:23 +00:00
Tim-Philipp Müller
149cca83d0 id3mux: map new GST_TAG_ENCODED_BY to ID3v2 TENC frame
https://bugzilla.gnome.org/show_bug.cgi?id=627268
2011-02-01 14:40:54 +00:00
Tim-Philipp Müller
c57a9e4ba9 videoparsers: dist h264parse.h, fixing make distcheck
Spotted by Nathanael D. Noblet
2011-01-31 17:45:19 +00:00
Teemu Katajisto
ad019102e5 camerabin: optimize setting new caps for preview image pipeline
Avoid re-creating and linking of preview image pipeline when
setting new preview image caps. Backported from camerabin2.

https://bugzilla.gnome.org/show_bug.cgi?id=639502
2011-01-31 12:25:55 -03:00
Tim-Philipp Müller
9ae14406e8 rtpvp8: fix LIBS and CFLAGS order in Makefile.am 2011-01-30 17:08:11 +00:00
Sjoerd Simons
216189ea36 rtpvp8depay: Accept packets with only one byte of data
When fragmenting partions it can happen that an RTP packet only caries 1
byte of RTP data.
2011-01-30 14:52:00 +00:00
Sjoerd Simons
0bee149c74 rtpvp8pay: Treat the frame header just like any other partition
When setting up the initial mapping just act as if the global frame
information is another partition. This saves special-casing it later in
the actual packetizing code.
2011-01-30 14:51:47 +00:00
Sjoerd Simons
39a16a3233 rtpvp8: Add simple payloaders and depayloaders for VP8
Minimal implementation of http://www.webmproject.org/code/specs/rtp/,
version 0.3.2
2011-01-30 14:51:15 +00:00
Mark Nauwelaerts
d0b942980e videoparsers: add h264parse
Functionally equivalent to (legacy)h264parse and re-uses the latter's low
level NAL parsing, but otherwise based on GstBaseParse, and replacing
some property configuration with caps negotiation.
2011-01-28 12:50:25 +01:00
Mark Nauwelaerts
0df8bb33a6 h264parse: rename to legacyh264parse 2011-01-28 12:16:59 +01:00
Mark Nauwelaerts
0c5d139ba7 h263parse: move to videoparsers and separate plugin registration 2011-01-28 12:16:59 +01:00
Mark Nauwelaerts
1664b3000f h263parse: update to latest baseparse 2011-01-28 12:16:59 +01:00
Mark Nauwelaerts
46308f8c53 h263parse: shuffle code to untangle h263parse and parameter parsing 2011-01-28 12:16:59 +01:00
Mark Nauwelaerts
daed6713db h263parse: provide for proper debug category, min frame size and code style 2011-01-28 12:16:59 +01:00
Mark Nauwelaerts
5ad0a3c641 h263parse: remove redundant get_caps
.. as src pad already set to use fixed_caps
2011-01-28 12:16:59 +01:00
Mark Nauwelaerts
0e6fbe2420 h263parse: simplify valid_frame parsing
... considering that baseparse takes care of skipping etc
2011-01-28 12:16:59 +01:00
Arun Raghavan
b33b88e4bb h263parse: Add an h263parse element
This adds an h263parse element for parsing H.263 streams, breaking them
up into frame-sized buffers, and exporting metadata such as profile and
level.

https://bugzilla.gnome.org/show_bug.cgi?id=622276
2011-01-28 12:16:59 +01:00
Mark Nauwelaerts
8e4b8b813d ac3parse: improve handling of dependent substream frames
In particular, timestamps of these should track main-stream timestamps.
2011-01-28 12:16:59 +01:00
Mark Nauwelaerts
7f805f17b2 baseparse: tune default duration estimate update interval
Rather than a fixed default frame count, estimate frame count to aim for
an interval duration depending on fps if available, otherwise use old
fixed default.
2011-01-28 12:16:59 +01:00
Mark Nauwelaerts
479865c1b3 baseparse: reverse playback; mind keyframes for fragment boundary 2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
57babfca39 amrparse: properly check for sufficient available data prior to access 2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
3ba3339993 baseparse: ensure non-empty candidate frames 2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
ac8080f003 baseparse: clarify some debug statements 2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
16342223ee baseparse: properly track upstream timestamps
... rather than with a delay.
2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
b97e560f1a baseparse: need proper frame duration to obtain sensible frame bitrate 2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
559b3ead93 baseparse: proper initial values for index tracking variables 2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
f3da619dd2 baseparse: arrange for consistent event handling 2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
18b347296c baseparse: header style cleaning 2011-01-28 12:16:58 +01:00
Mark Nauwelaerts
2c872ad913 baseparse: provide some more initial frame metadata in parse_frame
... and document accordingly.
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
6a45c4f65e baseparse: refactor passthrough into format flags
Also add a format flag to signal baseparse that subclass/format can provide
(parsed) timestamp rather than an estimated one.  In particular, such "strong"
timestamp then allows to e.g. determine duration.
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
1c89488c50 baseparse: introduce a baseparse frame to serve as context
... and adjust subclass parsers accordingly
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
400198b2cd baseparse: restrict duration scanning to pull mode and avoid extra set_caps call 2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
3e9d5c4bf8 baseparse: update some documentation
Also add some more debug.
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
829507b650 baseparse: allow increasing min_size for current frame parsing only
Also check that subclass actually either directs to skip bytes or
increases expected frame size to avoid going nowhere in bogus
indefinite looping.
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
18b69e9320 baesparse: fix refactor regression in loop based parsing 2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
f4f7306e37 baseparse: pass all available data to subclass rather than minimum
Also reduce some adapter calls and add a few debug statements.
2011-01-28 12:16:57 +01:00
Mark Nauwelaerts
e54e2a9616 baseparse: fix reverse playback handling 2011-01-28 12:16:56 +01:00
Mark Nauwelaerts
695c9599f4 baseparse: minor typo and debug statement cleanup 2011-01-28 12:16:56 +01:00
Mark Nauwelaerts
fcd0f5cb7a baseparse: reduce locking
... which is either already mute and/or implicitly handled by STREAM_LOCK.
2011-01-28 12:16:56 +01:00
Thiago Santos
68bff61732 camerabin2: Do not forget to unref some stuff
Cleanup properly by unrefing the encoding profile and preview caps
2011-01-26 14:31:13 -03:00
Thiago Santos
b66dde5746 camerabin2: Add names to some elements
Adds names to instances of some elements to make debugging easier
2011-01-26 14:31:13 -03:00
Thiago Santos
6395b45908 camerabin2: Handle videosink states more carefully
When going to ready, camerabin2 could create an empty file
if the videosink was put to ready. This patch only puts videosink
to ready on the PAUSED_TO_READY state change if it is on PAUSED
or PLAYING.
2011-01-26 14:31:12 -03:00
Mark Nauwelaerts
3da135ce02 baseparse: avoid loop in frame locating interpolation 2011-01-26 17:16:49 +01:00
Thiago Santos
25062fc384 wrappercamerabinsrc: Remove unused macro 2011-01-24 18:36:58 -03:00
Thiago Santos
a791f5070c wrappercamerabinsrc: Check the start time of buffers
Be careful when trying to create a newsegment event to avoid
start times of -1 from invalid buffer timestamps
2011-01-24 18:05:20 -03:00
Vincent Penquerc'h
c3d05d6006 dvdspu: don't write clipped lines to the output buffer
We may not increment the output pointer, but it'll still be just
off the end of the allocated area.

https://bugzilla.gnome.org/show_bug.cgi?id=602847
2011-01-24 19:47:46 +01:00
Thiago Santos
4ec3189575 camerabin2: Update porting file
Adds porting information about using encodebin on camerabin2
2011-01-24 14:50:30 -03:00
Thiago Santos
bccae0f994 camerabin2: Add image-done message
Post an image-done message when a new image is saved to disk
2011-01-24 14:50:30 -03:00
Thiago Santos
a715b46c7f camerabin2: Implement tagsetter interface 2011-01-24 14:50:30 -03:00
Thiago Santos
ccb1960a42 camerabin2: Add a property to select the encoding profile
Adds a video-profile to allow selecting which encoding profile
to use for video recordings
2011-01-24 14:50:29 -03:00
Thiago Santos
e5f267f682 camerabin2: Removing videorecordingbin
Removing videorecordingbin as we now use encodebin for it
2011-01-24 14:50:29 -03:00
Thiago Santos
f1d02cf0c0 camerabin2: Move to encodebin 2011-01-24 14:50:29 -03:00
Thiago Santos
31dbc2eeba wrappercamerabinsrc: Set output-selector pad-negotiation-mode to none
Use output-selector none negotiation mode as it was the default before
the last changes. This likely needs to be fixed to use 'active' on
camerabin2
2011-01-24 14:50:29 -03:00
Thiago Santos
3a495eaafc wrappercamerabinsrc: Handle state change failures
When its internal element fails to change state, don't act as
if succeeded.
2011-01-24 14:50:29 -03:00
Thiago Santos
9863feb328 camerabin2: Implement previewing
Implement previewing functionality using 2 properties. A boolean
(post-previews) that indicates if previews should be posted, and a
GstCaps (preview-caps) to provide the desired preview caps.

wrappercamerabinsrc implements previewing by supplying the captured
image to a pipeline to adapt it to the required caps before posting.
2011-01-24 14:50:29 -03:00
Thiago Santos
aa671439e1 camerabin2: Add methods for preview image message posting
Adds a helper struct and functions for implementing a preview message
in camerabin2.
2011-01-24 14:50:29 -03:00
Thiago Santos
bc1f57a645 wrappercamerabinsrc: Use drop_eos function from camerabingeneral
There was already a event probe function for dropping EOS on
camerabingenereal, so use that instead of replicating the code
2011-01-24 14:50:28 -03:00
Thiago Santos
0b3ad60269 camerabin: add names for more elements 2011-01-24 11:07:28 -03:00
Mark Nauwelaerts
289cd65abd flacparse: mind gst_buffer_unref not liking NULL
Fixes #639950.
2011-01-19 18:41:59 +01:00
Thiago Santos
cbbdfee98a mxfdemux: Fix unitialized variable warning 2011-01-18 18:18:03 -03:00
Thiago Santos
a6a982e8be audioparsers: baseparse: Be careful to not lose the event ref
Don't unref the event if it hasn't been handled, because the caller
assumes it is still valid and might reuse it.

I ran into this problem when transcoding an AVI (with mp3 inside)
to gpp.

https://bugzilla.gnome.org/show_bug.cgi?id=639555
2011-01-15 13:48:26 -03:00
Mark Nauwelaerts
b496bf923c qtmux: set src pads when starting file
... rather than at _init time, so they are also available following a
pad (de)activation cycle.

https://bugzilla.gnome.org/show_bug.cgi?id=639338
2011-01-14 00:38:56 +00:00
Luciana Fujii Pontello
b55775a9d3 camerabin: Enable conversion flags
Camerabin default should just work, so we need to enable audio, image
and video conversions.

https://bugzilla.gnome.org/show_bug.cgi?id=639456
2011-01-13 18:15:13 -03:00
Tim-Philipp Müller
aba0899b19 dcaparse: fix sync word for 14-bit little endian coding
Fix copy'n'paste bug that made us look for the raw little endian
sync word twice instead of looking for the 14-bit LE sync word
as well. Fixes parsing of such streams (see #636234 for sample file).
2011-01-13 17:10:13 +00:00
Tim-Philipp Müller
095eaa1752 docs: minor baseparse docs/comment fixes
Remove copy'n'paste leftovers.
2011-01-13 16:28:24 +00:00
Teemu Katajisto
85a355fd84 camerabin: set pad-negotiation-mode to active for output-selector
Fixes #639413.
2011-01-13 15:00:21 +02:00
Stefan Kost
f9dfd1effb asfmux: use g_error_free instead of g_free 2011-01-12 16:56:28 +02:00
Edward Hervey
a2b5e7863e y4mdec: Default colorspace is I420
https://bugzilla.gnome.org/show_bug.cgi?id=639296
2011-01-12 12:00:24 +01:00
Edward Hervey
ee0c9ae2f3 mpegtspacketizer: Don't forget the GType when using caps_new_simple() 2011-01-10 19:11:22 +01:00
Tim-Philipp Müller
d4441a3025 mpegtsdemux: fix silly way of creating caps 2011-01-10 11:25:47 +00:00
Karol Sobczak
0b4dfa685d mpegtsdemux: fix re-syncing on invalid data after seek
Or possibly even at startup. If we couldn't find a sync within
the first few bytes, we'd just push more data into the adapter
but never discard any of the invalid data at the beginning, so
would never be able to re-sync.

https://bugzilla.gnome.org/show_bug.cgi?id=639063
2011-01-10 11:18:52 +00:00
Tim-Philipp Müller
b700377e22 camerabin: use private input-selector that still has "select-all" property
The "select-all" property was removed when input-selector was moved
to core, but camerabin uses this, so make camerabin use a private
copy until a better fix is found.
2011-01-08 02:43:41 +00:00
Tim-Philipp Müller
f6591e5938 smoothwave: remove old 0.8 example containing code with sideeffects in g_return_if_fail()
May just as well remove it rather than fix it, so it doesn't show
up in greps for this any longer.
2011-01-08 00:20:35 +00:00
Tim-Philipp Müller
e5f1cdd0e9 Revert "mpegvideoparse: fix timestamp generation"
This reverts commit 2271608c43.

This patch needs more work so it doesn't cause grave playback
regressions (multi-second freezes) with some files that have
slightly broken timestamps but play fine everywhere else.

https://bugzilla.gnome.org/show_bug.cgi?id=636279
https://bugzilla.gnome.org/show_bug.cgi?id=632222
2011-01-07 18:49:02 +00:00
Tim-Philipp Müller
89fed534e8 mpegtsdemux: fix PAT and PMT info-related object leaks 2011-01-07 02:12:11 +00:00
Edward Hervey
6b9e2628b7 jpegparse: Fix unitialized variable on macosx 2011-01-06 12:51:27 +01:00
Edward Hervey
0a55306c40 jp2kdecimator: Fix unitialized variables on macosx 2011-01-06 12:50:14 +01:00
Edward Hervey
063be2f972 flacparse: Fix unitialized variable on macosx 2011-01-06 12:49:43 +01:00
David Schleef
84406fde30 y4mdec: Fix copyright 2011-01-05 18:27:14 -08:00
Edward Hervey
c627cd40e7 y4m: Fix unitialized variables on macosx 2011-01-05 16:43:45 +01:00
Tim-Philipp Müller
ed8e27b237 dvbsuboverlay: some more minor clean-ups 2011-01-05 13:44:04 +00:00
Janne Grunau
43bfb0009a dvbsuboverlay: fix leak of "clear screen" DVBSubtitles structs 2011-01-04 15:06:17 +00:00
Janne Grunau
9f02f693de dvbsuboverlay: fix two minor deinitialization memory leaks 2011-01-04 13:51:55 +00:00
Tim-Philipp Müller
eec67aeee6 camerabin2: fix cflags and libs order in Makefile.am 2011-01-03 23:49:51 +00:00
Janne Grunau
994156c1b8 dvbsuboverlay: remove unnecessary RGB -> YUV conversion by using YUV palettes
the default CLUTs still use RGB -> YUV conversions since the standard defines
them as RGBA values.
2011-01-03 20:23:24 +00:00
Mark Nauwelaerts
38c9342978 qtmux: adjust nasty case timestamp tracking
That is, all sorts of problems arise with re-ordered input timestamps that
tend to defy automagic handling for every case, so allow for a few variations
that can be tried depending on circumstances.

Also try to document accordingly.

Also fixes #638288.
2011-01-03 17:40:52 +01:00
Felipe Contreras
460785352c qtmux: get rid of timestamp overprotectiveness
Signed-off-by: Felipe Contreras <felipe.contreras@nokia.com>
2011-01-03 17:40:52 +01:00
Mark Nauwelaerts
cd690c2bc3 qtmux: simplify and fix pts_offset storing
In particular, only write a ctts atom if and only if ever a non-zero offset.
2011-01-03 17:40:52 +01:00
Mark Nauwelaerts
8f174304ee qtmux: add some more documentation 2011-01-03 17:40:51 +01:00
Mark Nauwelaerts
1ff6806cd4 qtmux: remove large-file property
Rather, auto-determine if 64-bits fields are needed for a valid result, and
stick to plain 32-bits if not needed.

API: GstQTMux:large-file (removed)
2011-01-03 17:40:51 +01:00
David Schleef
73d85fa438 colorspace: Disable matrixing on big-endian
It's broken until someone writes better Orc code.  Fixes #631232.
2011-01-02 16:13:56 -08:00
David Schleef
94f6f34ace mpegtsmux: Set adaptation flag when appropriate
Specifically, when there's stuff to go into the adaptation
header.
2011-01-02 14:52:34 -08:00
David Schleef
ea113a79aa mpegtsmux: Set random_access_indicator for keyframes 2011-01-02 14:52:34 -08:00
Tim-Philipp Müller
21fb0dc586 gaudieffects: dist python examples 2011-01-02 13:30:11 +00:00
David Schleef
68493aadab dtmf: Fix build failure caused by previous commit 2010-12-31 00:37:30 -08:00
David Schleef
edd1f791ca mpegdemux: Fix c99-ism 2010-12-30 19:25:46 -08:00
David Schleef
04c44d18c9 legacyresample: Use math-compat header 2010-12-30 19:25:46 -08:00
David Schleef
2f5c92f1c8 change M_PI to G_PI 2010-12-30 19:25:46 -08:00
David Schleef
512c66d8ba frei0r: convert uint32_t to guint32 2010-12-30 19:25:46 -08:00
David Schleef
57095d302d dtmf: build fixes for MSVC
Use gint16 and G_PI.
2010-12-30 18:39:21 -08:00
David Schleef
5fed7a264c dtmf: reindent 2010-12-30 18:39:12 -08:00
David Schleef
0073550300 dataurisrc: use g_ascii_strcasecmp() 2010-12-30 18:08:32 -08:00
Tim-Philipp Müller
c6c3d9781b selector: move input-selector and output-selector to core
https://bugzilla.gnome.org/show_bug.cgi?id=614306
2010-12-31 01:41:36 +00:00
Tim-Philipp Müller
222be5f0e9 valve: move valve element/plugin to core
https://bugzilla.gnome.org/show_bug.cgi?id=630808
2010-12-31 01:41:18 +00:00
Thiago Santos
95597d8f0e camerabin2: Various leak fixes
Various leak fixes and some code reorganization
2010-12-29 13:24:06 -03:00
Thiago Santos
890c4ab4fd wrappercamerabinsrc: Implement video capture renegotiate
Handle caps renegotiation from camerabin2's renegotiate event
to allow video capture to be done with the user's requested
resolution.
2010-12-29 13:24:06 -03:00
Thiago Santos
203508079a camerabin2: Fix renegotiate event pushing
Use a hack to make the event upstream to reach the camera source
instead of going downstream and being useless.

This was already fixed this way for image srcpad renegotiate and
video srcpad was left unfixed.
2010-12-29 13:24:05 -03:00
Thiago Santos
1c761196f7 wrappercamerabinsrc: Refactor internal pipeline
Instead of linking 3 src pads from tee to the ghostpads, use 2
srcpads and add an output-selector to completely split caps
negotiation of video/image modes. I don't think there is an
use case that would require image and video pads to be used
at the same time.
2010-12-29 13:24:05 -03:00
Thiago Santos
07279bac7b camerabin: mode can be only image or video
No need to check if camerabin is on video mode if it isn't on
image mode as those are the only 2 modes available.

Additionally, if mode gets corrupted somehow and would be neither
image or video it would cause a null pointer dereferencing some
lines of code below, so this is safer.
2010-12-28 17:16:05 -03:00
Thiago Santos
895c07ef04 camerabin: Remove unused variable 2010-12-28 16:55:11 -03:00
Thiago Santos
a2f54e26f2 asfmux: Fix plugin package name/origin 2010-12-27 16:58:26 -03:00
Alessandro Decina
143efa727e dvbsuboverlay: fix compiler warnings 2010-12-27 13:20:28 +01:00
Tim-Philipp Müller
7a21a19499 dvbsuboverlay: clean-up: allocate flat array of rectangles
instead of an array of pointers to individually-allocated rectangles.
2010-12-27 11:10:53 +00:00
Tim-Philipp Müller
e35a3ddbf9 dvbsuboverlay: clean-up: merge private data struct into main struct 2010-12-25 16:31:00 +00:00
Tim-Philipp Müller
f8dc80a8b7 dvbsuboverlay: clean-up: dvb sub parser helper doesn't need to be a GObject 2010-12-25 16:30:50 +00:00
Vincent Penquerc'h
4422cca1d3 mve: do not use the pad buffer allocation functions in demuxers
https://bugzilla.gnome.org/show_bug.cgi?id=637929
2010-12-24 14:18:58 +01:00
Vincent Penquerc'h
29c6a95417 mpegdemux: do not use the pad buffer allocation functions in demuxers
https://bugzilla.gnome.org/show_bug.cgi?id=637931
2010-12-24 14:17:51 +01:00
Tim-Philipp Müller
e6d0435a8e mpeg4videoparse: try harder to make buffer metadata writable before modifying
Also, check buffer for NULL-ness before dereferencing it.

https://bugzilla.gnome.org/show_bug.cgi?id=637824
2010-12-23 22:03:16 +00:00
Thiago Santos
1ff89c5f83 videorecordingbin: Fix leaks 2010-12-23 14:24:45 -03:00
Thiago Santos
2513e9f01b wrappercamerabinsrc: Add converters for viewfinder branch
Viewfinder branch should have converters as it has to work
always anyway.
2010-12-23 13:24:56 -03:00
Thiago Santos
450f54b020 viewfinderbin: Remove leaks
Removing various leaks from viewfinderbin
2010-12-23 13:24:56 -03:00
Thiago Santos
58d4315965 camerabin2: more logs 2010-12-23 13:24:56 -03:00
Thiago Santos
e94c5b3b9b wrappercamerabinsrc: Handle camerabin2 custom renegotiate events 2010-12-23 13:24:55 -03:00
Thiago Santos
1e6be5ec56 camerabin2: Use custom renegotiate event
Adds a custom renegotiate event that is pushed to the camerasrc pad
that needs renegotiation due to the user selecting a new capture
caps for that pad.

This is a way of notifying the source that it should update its caps, even
if it doesn't use pad allocs.
2010-12-23 13:24:55 -03:00
Thiago Santos
b1a361b566 wrappercamerabinsrc: Add local mode 2010-12-23 13:24:55 -03:00
Thiago Santos
85bf8f2335 camerabin2: Adds properties for capture caps
Adds properties for selecting caps for video and image captures
2010-12-23 13:24:55 -03:00
Teemu Katajisto
a7fe67700e camerabin2: remove abreviations from imagecapturebin 2010-12-23 13:24:55 -03:00
Thiago Santos
539f10f4d9 basecamerasrc: More cleanup
Remove old legacy code copied from camerabin(1) that should be handled
by caps negotiation on camerabin2
2010-12-23 13:24:54 -03:00
Thiago Santos
029e63a31e wrappercamerabinsrc: Remove unused variable
Remove wait_for_prepara variable that wasn't being used
2010-12-23 13:24:54 -03:00
Thiago Santos
99210b0a3a camerabin2: Rename v4l2camerasrc to wrappercamerabinsrc
Use a better name for the element that wraps single pad src element
into a 3pad source required by camerabin2.
2010-12-23 13:24:43 -03:00
Thiago Santos
b822ad3cd3 v4l2camerasrc: remove video filter property code
Removes some unused custom video filter element property code
2010-12-23 13:20:36 -03:00
Thiago Santos
706740845b viewfinderbin: Fix video-sink property again
Avoid switching the element on the set_property function, instead wait
for the next NULL -> READY transition.
2010-12-23 13:20:36 -03:00
Thiago Santos
07d58dbf84 v4l2camerasrc: add video-src property
Adds a property to select the src element to be used internally
on v4l2camerasrc. Yeah, I know, this element should have a better
name.
2010-12-23 13:20:35 -03:00
Thiago Santos
b81677032c camerabin2: adds PORTING document
Adds a PORTING document to explain the differences from
camerabin to camerabin2 and help application developers on
porting from one to another.
2010-12-23 13:20:35 -03:00
Thiago Santos
4938c2e9ea camerabin2: Move basecamerasrc to gst-libs
Move the base camera src class to gst-libs/gst/basecamerabinsrc to
allow it to be included from the tests.
2010-12-23 13:20:31 -03:00
Teemu Katajisto
4a28d5f478 camerabin2: add videorecordingbin::video-muxer property 2010-12-23 13:18:58 -03:00
Teemu Katajisto
c76aeb77e5 camerabin2: add videorecordingbin::video-encoder property 2010-12-23 13:18:58 -03:00
Teemu Katajisto
78dc07987e camerabin2: remove abbreviations from videorecordingbin 2010-12-23 13:18:58 -03:00
Teemu Katajisto
7409211055 camerabin2: imagecapturebin: release objects and memory allocations 2010-12-23 13:18:58 -03:00
Thiago Santos
59c48d3443 camerabin2: Add camera-src property
Adds a property to select the camera source element to be used.
Changing only happens on the next NULL->READY transition
2010-12-23 13:18:57 -03:00
Thiago Santos
adc3cdc6aa camerabin2: Rename variables
Use better name for the variables, making the code clearer. Also
keep a ref for some internal elements to avoid fetching them
by name when needed later.
2010-12-23 13:18:57 -03:00
Thiago Santos
201e9ac221 camerabin2: Add properties for supported capture caps
Adds 2 property for getting the supported image/video capture
caps from the camera source.
2010-12-23 13:18:57 -03:00
Thiago Santos
f52d805166 camerabin2: Put enums inside their classes .c
Remove global list of properties' enums and put them
inside their classes .c
2010-12-23 13:18:57 -03:00
Thiago Santos
014b8f97f8 viewfinderbin: Fixes to video-sink handling
Handle video-sink more carefully, checking if it should
be already added to the bin, and removing old ones when
replacing.
2010-12-23 13:18:57 -03:00
Teemu Katajisto
89142163b1 camerabin2: add imagecapturebin::image-muxer property 2010-12-23 13:18:57 -03:00
Teemu Katajisto
87e0cbff38 camerabin2: add imagecapturebin::image-encoder property 2010-12-23 13:18:57 -03:00
Teemu Katajisto
e5d388698a camerabin2: remove abreviations from imagecapturebin 2010-12-23 13:18:57 -03:00
André Dieb Martins
7c47fc497f camerabin2: implement viewfinderbin::video-sink property to override default video output 2010-12-23 13:18:56 -03:00
Thiago Santos
80ff930012 basecamerasrc: Make construct_pipeline optional
Construct pipeline should be optional. Subclasses that don't
have internal elements don't need it.
2010-12-23 13:18:56 -03:00
Stefan Kost
ba2368d0bc basecamerasrc: write more details on the api docs 2010-12-23 12:11:59 -03:00
Stefan Kost
4b23fe6872 basecamerasrc: use the enum type for mode 2010-12-23 12:11:59 -03:00
Stefan Kost
17d5914c59 basecamerasrc: comment cleanups 2010-12-23 12:11:59 -03:00
Tim-Philipp Müller
e29a1073b1 mpeg4videoparse: ensure buffer metadata is writable before modifying it
https://bugzilla.gnome.org/show_bug.cgi?id=637824
2010-12-22 21:46:00 +00:00
Edward Hervey
bcb8eab616 id3mux: Set to GST_RANK_PRIMARY
We want it to take precedence over any other id3 formatter.
2010-12-22 18:13:36 +01:00
Sebastian Dröge
825052ba3d autoconvert: Fix some more leaks and reorganize unref code 2010-12-21 18:01:28 +01:00
benjamin gaignard
f0ebcba6c4 autoconvert: Avoid some leaks in autoconvert
unref sink and src pad after gst_pad_by_direction calls unref
element if gst_auto_convert_activate_element failed.

See bug #637553.
2010-12-21 17:50:20 +01:00
Olivier Crête
8c371e5c35 autoconvert: Use gst_caps_can_intersect() 2010-12-19 17:40:12 +05:30
Sebastian Dröge
5e5092e92c qtmux: Free AtomInfo structs 2010-12-19 12:53:34 +01:00
Sebastian Dröge
435bc16497 qtmux: Free tag string after use 2010-12-19 12:50:30 +01:00
Sebastian Dröge
b297490b2a imagecapturebin: Don't leak pad and sink 2010-12-19 12:09:41 +01:00
Sebastian Dröge
9605ff9aa8 imagecapturebin: Don't leak pad template created from static pad template 2010-12-19 12:05:11 +01:00
Sebastian Dröge
073916c9fb imagecapturebin: Don't leak location string 2010-12-19 12:03:03 +01:00
Sebastian Dröge
1f8ba27334 jifmux: Don't leak taglist 2010-12-19 12:00:25 +01:00
Sebastian Dröge
ec85dfaa61 autovideoconvert: Don't leak pad templates created from static pad templates 2010-12-19 11:38:03 +01:00
Sebastian Dröge
530eca9984 autovideoconvert: Add autoconvert child before chaining up to parent state change function
...and remove/unlink autoconvert child when going back to NULL.
2010-12-19 11:21:27 +01:00
Lasse Laukkanen
699e0abd49 qtmux: allow zero duration tracks 2010-12-17 19:30:28 +01:00
Tim-Philipp Müller
767c29cc2f dvbsuboverlay: use GST_LOG etc. for logging
The dvbsub routines were originally designed as a mini lib with a
log callback (which from the looks of it in our case would always
be called and always assemble the string even with debug output
disabled). Some of these debug statements can probably be removed
or cleaned up some more.
2010-12-17 10:50:56 +00:00
Tim-Philipp Müller
c64df2ebc2 dvbsuboverlay: remove some unused defines 2010-12-17 10:50:47 +00:00
Tim-Philipp Müller
d9f83ad938 dvbsuboverlay: fix atomic access 2010-12-17 10:50:36 +00:00
Janne Grunau
b73ae45460 dvbsuboverlay: fix rendering artefacts
Initialize source x position for odd height special case.
2010-12-16 15:33:59 +00:00
Edward Hervey
b191fb2b05 dvbsuboverlay: The enable property is a boolean and not an integer 2010-12-16 11:29:07 +01:00
Sebastian Dröge
2561bb8fa7 autoconvert: Rename autocolorspace to autovideoconvert
This doesn't just convert between color spaces.
2010-12-16 09:59:42 +01:00
Benjamin Gaignard
c8d9cc5770 bayer2rgb: Add framerate to the sink caps
Fixes bug #637224.
2010-12-15 21:28:06 +01:00
Benjamin Gaignard
27ac6c3e47 autocolorspace: Add autoconvert based video format convert element
Fixes bug #636106.
2010-12-15 21:14:38 +01:00
Sebastian Dröge
a99e13cd5a dvbsuboverlay: Rename DVB subtitling media type to subpicture/x-dvb 2010-12-15 21:11:29 +01:00
Sebastian Dröge
18061222b9 mpegtsdemux: Rename DVB subtitling media type to subpicture/x-dvb 2010-12-15 21:11:11 +01:00
Sebastian Dröge
a71c3f7e48 dvbsuboverlay: Don't draw anything on the video if the enable property is set to FALSE 2010-12-15 20:54:35 +01:00
Sebastian Dröge
65598884d2 dvbsuboverlay: Add #defines for the property default values 2010-12-15 20:53:21 +01:00
Sebastian Dröge
e9fa2fcd8b dvbsuboverlay: Use g_atomic_int_get() for reading the max_page_timeout field 2010-12-15 20:51:12 +01:00
Sebastian Dröge
61c2b173c6 mpegtsdemux: Mark array static const and use G_N_ELEMENTS instead of sizeof 2010-12-15 20:49:57 +01:00
Janne Grunau
431ea2c697 mpegtsdemux: add DESC_DVB_SUBTITLING descriptor for language parsing 2010-12-15 20:47:25 +01:00
Janne Grunau
eaf1b316b0 mpegtsdemux: enable gather_pes only for DVB subtitle private streams 2010-12-15 20:47:25 +01:00
Janne Grunau
9b3b1aedea dvbsuboverlay: use atomic instructions to set/get enable property 2010-12-15 20:47:25 +01:00
Janne Grunau
533453186e dvbsuboverlay: add property to limit page_time_out to a setable maximum 2010-12-15 20:47:25 +01:00
Janne Grunau
36b101cfb8 dvbsuboverlay: implement display definition segment subtitle windows
simplifies subtitle scaling in blit_i420()
2010-12-15 20:47:25 +01:00
Janne Grunau
4d8220b033 dvbsuboverlay: scale subtitles according to the display size
Display size is either transmitted in the display definition segment or
implicitly defined to 720x576. The subtitle window information also present in
the display definition segment is not yet used.
2010-12-15 20:47:25 +01:00
Janne Grunau
83a84ba230 dvbsuboverlay: implement display definition segment parsing 2010-12-15 20:47:25 +01:00
Janne Grunau
2f6f78caa3 dvbsuboverlay: fix luma stride for scaled subtitles (display width != width) 2010-12-15 20:47:24 +01:00
David Schleef
9fd41486a2 y4mdec: Add y4mdec
Feel the y4m love.  It seeks.  It works in pitivi.
2010-12-14 01:27:05 -08:00
Mark Nauwelaerts
aae382bcc6 jpegparse: avoid leaking tag event 2010-12-13 16:25:29 +01:00
Mark Nauwelaerts
01e9b677a8 ac3parse: relax bsid checking
... to the widest possible spec interpretation.

Fixes #637062.
2010-12-13 15:29:33 +01:00
Matthew Ife
51c63587a1 rfbsrc: fail more gracefully if source gets disconnected or geometry changes
Don't get caught in an infinite loop if the source gets disconnected and also
support gracefully failing upon detecting the frame geometry has increased
(rather than segfaulting).

https://bugzilla.gnome.org/show_bug.cgi?id=635397
2010-12-12 23:36:56 +00:00
Mark Nauwelaerts
2056f4a633 jpegparse: avoid leaking converted comment string 2010-12-12 22:14:59 +01:00
Sebastian Dröge
ec300d007d ssim: Set classification to Filter/Analyzer/Video instead of Filter/Converter/Video
Fixes bug #636109.
2010-12-12 12:01:38 +01:00
Jan Schmidt
a4f2ab78ff gaudieffects: Avoid divide by 0 in burn element 2010-12-12 02:24:00 +11:00
Thiago Santos
b6d5763e05 basecamerasrc: Remove ghostpads
Remove ghost pads from basecamerasrc. Different implementations
of camera sources might not use ghostpads and use default pads.
2010-12-08 15:38:30 -03:00
Thiago Santos
91d8bbd8a1 basecamerasrc: Removing ununsed methods
Remove one unused method _finish_image_capture()
2010-12-08 15:38:30 -03:00
Thiago Santos
db72d691ca camerabin2: Cleanup
Removing commented code
2010-12-08 15:38:30 -03:00
Thiago Santos
24bc280806 basecamerasrc: Move start/stop capture signals to basecamerasrc
Move start/stop signals and ready-for-capture to basecamerasrc
as this should be present on all camera sources
2010-12-08 15:38:30 -03:00
Thiago Santos
87eddd54d5 basecamerasrc: Add mode property
Move mode property from v4l2camerasrc to basecamerasrc, as all
camera sources should handle it.
2010-12-08 15:38:29 -03:00
Thiago Santos
b11342d325 camerabin2: Reset all elements on video recording branch before capture
We need to reset the elements from the video recording branch, including
the queue and capsfilter in order to clear the eos state and activate
the pads.

This makes it possible to record multiple videos with camerabin2 in a
sequence, otherwise the source would get a unexpected return and
push EOS, stopping the whole pipeline.
2010-12-08 15:38:29 -03:00
Thiago Santos
5776a17c86 camerabin2: More debug logs
Sprinkle some more debugging logs
2010-12-08 15:38:29 -03:00
Thiago Santos
122a7bd556 camerabin2: Various fixes
As video recording bin's state is locked, we should always
remember of setting it to NULL when camerabin2 goes to NULL

Be more careful when using elements that might not
have been created yet

And do not set location property recursively on videorecordingbin
2010-12-08 15:38:29 -03:00
Thiago Santos
0685b8921e viewfinderbin: Improve elements creation
Be more careful with cleanup of elements. Also add some logs and
improve docs a little.
2010-12-08 15:38:29 -03:00
Thiago Santos
19e52f35ee camerabin2: remove unused code
General cleanup, removing unused bits
2010-12-08 15:38:28 -03:00
Thiago Santos
ba878c95b2 camerabin2: adds location property
Adds a location property to enable applications to select
the captured files names. Locations are handled just like
multifilesink ones

Also disables -Wformat-nonliteral to allow to use non-literals
on g_strdup_printf on camerabin and generate a sequence of
locations for captures.
2010-12-08 15:38:28 -03:00
Thiago Santos
5b3deecab9 camerabin2: Fix set/get property function names
Add more consistency to the function names by using
gst_camera_bin as the other functions.
2010-12-08 15:38:28 -03:00
Thiago Santos
cb915196e2 camerabin2: Handle vidbin state change individually
Keep vidbin state locked to avoid it going to playing without
being used and leaving an empty file created.

Check the docs on the code for details on the handling.
2010-12-08 15:38:28 -03:00
Thiago Santos
0ae8df4312 camerabin2: Keep it under --enable-experimental
camerabin2 is still under heavy development, activate it only if
the --enable-experimental flag is on.

Also add a note to the docs.
2010-12-08 15:38:28 -03:00
Thiago Santos
5be441adff v4l2camerasrc: Add ready-for-capture property
Adds property that informs if v4l2camerasrc is available
for starting a new capture.

It is useful for applications to know (via deep-notify) when the
property changes and a new capture is possible. Note, however, that
starting a new capture from the notify callback will cause a deadlock.
2010-12-08 15:38:28 -03:00
Thiago Santos
bd89d22da9 camerabin2: Update v4l2camerasrc to use start/stop signals
Removes the old logic for v4l2camerasrc that used the mode
property switching to start/stop captures to make it identical
to camerabin2 behavior and to allow the future addition of
pausing a video recording.

This also removes the MODE_PREVIEW as it became useless.
2010-12-08 15:38:28 -03:00
Thiago Santos
b4d73cb9a8 camerabin2: Cleanup capturing flag
Cleanup capturing flag when the source switches back to the
viewfinder mode
2010-12-08 15:38:28 -03:00
Thiago Santos
9df40915d6 v4l2camerasrc: Remove unnecessary padding 2010-12-08 15:38:28 -03:00
Thiago Santos
91b7f2d99e v4l2camerasrc: Implement video capture
Implements video capture on v4l2camerasrc by using the mode property,
when mode is set to video, the pad probe pushes a new segment
and starts pushing buffers on the pad, when it the property is
sent back to preview, the pad probe pushes an EOS and stops
pushing buffers.

This is controlled by a Recording State variable, that is protected
by the GST_OBJECT_LOCK. I don't think locking for every buffer is
nice, so we could find an alternative lockless way here.
2010-12-08 15:38:28 -03:00
Thiago Santos
596422d19c v4l2camerasrc: Fix image capture
Once a image is captured, v4l2camerasrc should return to the
preview mode and stop capturing.
2010-12-08 15:38:27 -03:00
Thiago Santos
6c7d7946f5 camerabin2: Keep mode definition at -enum file
Use 'mode' enum definition from gstcamerabin-enum file to avoid
conflicts between v4l2camerasrc and gstcamerabin2 modes.

For now there is a MODE_PREVIEW there that is only used on the
camerasrc, not sure if we are keeping it at the future, but for
now this works.
2010-12-08 15:38:27 -03:00
Thiago Santos
9095ee429a v4l2camerasrc: Adds mode property
Adds mode property to v4l2camerasrc
2010-12-08 15:38:27 -03:00
Thiago Santos
dee167edc8 camerabin2: Adding debug categories
Adding debug categories to v4l2camerasrc and camerabin2, also
removing generic category from camerabingeneral.
2010-12-08 15:38:27 -03:00
Thiago Santos
6c72fed8b4 camerabin2: Adding basic property and signals
Adds mode property to camerabin2, allowing users to
select between video and stills capture. Also adds
start/stop capture actions to trigger and stop
capturing
2010-12-08 15:38:27 -03:00
Thiago Santos
a938fd9192 camerabin2: Set filesink's async to FALSE
In order to preroll, camerabin2 should have its filesinks in
the imagecapturebin and videorecordingbin with async=FALSE.
2010-12-08 15:38:27 -03:00
Thiago Santos
1887669d6e camerabin2: Adding basic elements
Instantiating and linking basic elements on camerabin2
so it at least shows the viewfinder when running.
2010-12-08 15:38:27 -03:00
Thiago Santos
3db90e1d43 camerabin2: Adds a stub element for camerabin2
Adds camerabin2 element, it is now a pile of stubs.
2010-12-08 15:38:27 -03:00
Thiago Santos
39093d2199 camerabin2: v4l2camerasrc: Remove platform specific code
Remove platform specific code
2010-12-08 15:38:27 -03:00
Thiago Santos
7f41c2594d camerabin2: Removing uneeded properties
Removing uneeded and unregistered properties.
2010-12-08 15:38:26 -03:00
Thiago Santos
3afa2c3a25 camerabin2: v4l2camerasrc: Fix property warning
Avoid setting a property that doesn't exist.
2010-12-08 15:38:26 -03:00
Thiago Santos
fcf80d0253 camerabin2: v4l2camerasrc: Remove unused variable
Removed unused leftover variable
2010-12-08 15:38:26 -03:00
Thiago Santos
0dce17a4e8 camerabin2: Adds video recording bin
Adds an bin that is responsible for encoding and saving video
streams to files.

For now it is simply a ffmpegcolorspace ! theoraenc ! oggmux !
 filesink bin.

Still uncapable of recording audio.
2010-12-08 15:38:26 -03:00
Thiago Santos
94da473ba7 camerabin2: Adding v4l2camerasrc from robclark's branch
Adds 3-pad v4l2 camera source from Rob Clark's camerabin
branch on http://gitorious.org/robclark-gstreamer/gst-plugins-bad
2010-12-08 15:38:26 -03:00
Thiago Santos
12245366d8 camerabin2: Adds new imagecapturebin
Adds an bin that is responsible for image captures.

It is a simple ffmpegcolorspace ! jpegenc ! jifmux ! multifilesink
for now.
2010-12-08 15:38:26 -03:00
Thiago Santos
3a8ec18f96 camerabin2: Move plugin init to a separate file
Moves plugin init to gstplugin.c to allow multiple
elements to register themselves.
2010-12-08 15:38:26 -03:00
Thiago Santos
67415fc412 camerabin2: viewfinderbin: Adds viewfinderbin element
Adds viewfinder bin element, one of the modules of camerabin2
that is responsible for displaying the video from the camera.

For now it is only a bin with ffmpegcolorspace ! videoscale !
 autovideosink
2010-12-08 15:38:26 -03:00
Alessandro Decina
5c097c447b dvbsuboverlay: fix compiler warnings on OSX. 2010-12-08 19:36:48 +01:00
Mark Nauwelaerts
26877f66c9 mpeg4videoparse: re-use cleanup() in finalize()
... and also favor finalize() rather than dispose().
2010-12-08 16:30:12 +01:00
Arun Raghavan
5b442d0712 mpeg4videoparse: Set srcpad caps before forwarding newsegment
This holds all newsegement and most other events till there is enough
data to set srcpad caps, so that the downstream link is properly
negotiated before data starts flowing.

https://bugzilla.gnome.org/show_bug.cgi?id=635204
2010-12-08 16:30:12 +01:00
Arun Raghavan
8f30fca636 mpeg4videoparse: Use sinkpad caps as base for srcpad caps
This way, we don't lose additional fields that come from upstream (like
profile/level for now).

https://bugzilla.gnome.org/show_bug.cgi?id=635202
2010-12-08 16:30:12 +01:00
Mark Nauwelaerts
522f470883 mpeg4videoparse: minor fix to error handling
We weren't handling unparseable codec_data in some cases.

https://bugzilla.gnome.org/show_bug.cgi?id=635202
2010-12-08 16:30:12 +01:00
Sebastian Dröge
04eb581480 dvbsuboverlay: Implement nearest neighbour scaling for the subpictures
This becomes necessary when SDTV subtitles are used for HDTV videos.
2010-12-08 16:30:12 +01:00
Mark Nauwelaerts
de85aef333 h264parse: align code with comment 2010-12-08 16:30:12 +01:00
Mark Nauwelaerts
26d69e63d4 h264parse: re-use reset() in finalize() 2010-12-08 16:30:12 +01:00
Arun Raghavan
6f966febce h264parse: Set srcpad caps before forwarding newsegment
This holds all newsegement and most other events till there is enough
data to set srcpad caps, so that the downstream link is properly
negotiated before data starts flowing.

https://bugzilla.gnome.org/show_bug.cgi?id=635205
2010-12-08 16:30:12 +01:00
Mark Nauwelaerts
74fb627a08 jpegparse: try to convert comment tag to UTF-8 2010-12-08 16:30:11 +01:00
Mark Nauwelaerts
49d7f207cb jpegparse: discard incomplete image
... as determined when finding SOI next image before an EOI.
2010-12-08 16:30:11 +01:00
Mark Nauwelaerts
0a26e138dd jpegparse: avoid infinite loop when resyncing 2010-12-08 16:30:11 +01:00
Arun Raghavan
7abe0a56af audioparse: Allow implicit channel map for 1-/2-channel audio
This makes sure we don't set an empty channel map array for 1-/2-channel
audio, causing an assert later on.
2010-12-08 16:30:11 +01:00
Sebastian Dröge
8974371914 dvbsuboverlay: Revert some parts of last commit that shouldn't be committed 2010-12-08 16:30:11 +01:00
Sebastian Dröge
68b8fca047 dvbsuboverlay: Really choose the latest possible subpictures
And not the first subpictures that are still valid according to the
page timeout.
2010-12-08 16:30:11 +01:00
Sebastian Dröge
e25a1dc0cc dvbsuboverlay: Refactor blending function and take average of all chroma values 2010-12-08 16:30:11 +01:00
Sebastian Dröge
2282a08890 dvbsuboverlay: Improve selection of current to be displayed subpictures
Drop all subpictures that are too old anyway and clear the currently
displayed subpictures if num_rects==0 happens.
2010-12-08 16:30:11 +01:00
Sebastian Dröge
01cf79ae59 dvbsuboverlay: Implement clipping of video buffers
Also don't clip subpicture buffers, they have no duration and
clipping them doesn't make much sense here.
2010-12-08 16:30:11 +01:00
Sebastian Dröge
672cb276be dvbsuboverlay: Clean up locking some more 2010-12-08 16:30:10 +01:00
Sebastian Dröge
92109fdfbc dvbsuboverlay: Flush subtitles and all internal state when needed 2010-12-08 16:30:10 +01:00
Sebastian Dröge
472cace08b dvbsuboverlay: Set the global library log function exactly once
And don't use one of the possibly many renderer instances, this is only
calling for crashes.
2010-12-08 16:30:10 +01:00
Sebastian Dröge
2a976ae133 dvbsuboverlay: Remove lots of commented out and unused code and clean up locking 2010-12-08 16:30:10 +01:00
Mart Raudsepp
a203ad1aab dvbsuboverlay: Fix more of the blending, so it looks quite good now
* libdvbsub gives us alpha channel already, not transparency level, so
don't do another "alpha = 255 - alpha", this is done by libdvbsub.
* Fix alpha channel handling in interpolation - assrender had an additional
1bpp alpha bitmap as a possible mask, we don't. So don't use the palette
index array as alpha values; bug from quick code porting long ago to
changing pixel colors (assrender has a single pixel color for whole
regions or something, unlike dvbsub, which has indexed colors).
* Don't forget to reassign our YUV and other local pixel color variables
after shifting to work on the bottom part of a 2x2 subsample block, or
it's obviously very blocky.

Remaining issues in blending:

* Should probably be interpolating or doing something else useful with the
resulting U and V channels, so that most of the source pixel UV values would
actually be actually cared about, except for just one out of possibly four.

* Don't convert AYUV to ARGB in libdvbsub, and then back from ARGB to AYUV in
dvbsuboverlay for no reason

* Re-factor the whole thing to something more like textoverlay blending
* Related to that, perhaps cache the current spu in a good format for quick
blending on each frame, after which the more often called blending parts
might become more straightforward
2010-12-08 16:30:10 +01:00
Mart Raudsepp
efa1e9a1fe dvbsuboverlay: Fix blending bug regarding color channel addressing.
libdvbsub gives us ARGB ordered pixels right now, not RGBA.
2010-12-08 16:30:10 +01:00
Mart Raudsepp
21abf9c4a8 dvbsuboverlay: Do blending calls when appropriate
This gives us actually shown subtitles, however with bugs in the
current blitting code, resulting in very transparent subtitles.
2010-12-08 16:30:10 +01:00
Mart Raudsepp
84b52f6eb4 dvbsuboverlay: Implement fallback page_time_out honoring
The spec has a page_time_out in the page composition segment to ensure
subtitles don't get stuck on screen for too much longer than intended,
when future page composition segments get lost on bad reception, or other
problems. Honor it in the gst plugin side.
2010-12-08 16:30:10 +01:00
Mart Raudsepp
3d09a3b18a dvbsuboverlay: Implement subtitle queueing and syncing with video
Push incoming subtitle pages in a FIFO queue (pending_subtitles)
and dequeue the head when it's time to show it (when video running
time reaches the subtitle page running time).
Keep the subtitle page, that is supposed to be blended on top of video
currently, in a separate object variable (current_subtitle). As a
next step we can then pre-render current_subtitle to a better to blend
format.
2010-12-08 16:30:10 +01:00
Mart Raudsepp
41c82583f5 dvbsuboverlay: Make the new dvb_subtitles_free() accept NULL
Don't crash if dvb_subtitles_free(NULL) gets passed, like most other
*_free functions are happy with.
2010-12-08 16:30:10 +01:00
Mart Raudsepp
7e2e52cab8 dvbsuboverlay: Pass page_time_out and pts with the DVBSubtitles structure
Eases holding onto the information in gst plugins side queue of
DVBSubtitles, so we won't need to create yet another temporary struct
to keep the pts and page_time_out too.
And this really logically belongs at the toplevel information set anyway
and in that struct...
2010-12-08 16:30:09 +01:00
Mart Raudsepp
aca7237878 dvbsuboverlay: Make the libdvbsub callback handler responsible for memory cleanup
We want to allow queueing of raw region image data in the gst plugin side,
and keep the data around until we pop the item from the queue. So make
the callback handler responsible for memory cleanup, if one is installed.
2010-12-08 16:30:09 +01:00
Mart Raudsepp
4a68decb52 dvbsuboverlay: Work with GstClockTime instead of PTS for subtitle timing
Abuse libdvbsub PTS tracking to just store our running time in it, to get
it back in the callbacks. As GStreamer does its own PTS handling behind our
back (especially for video), we should just sync with video per running time,
not try to do it with PTS, which doesn't seem well accessible for video chain.
We can later relabel dvb-sub.c pts naming convention if wanted, it's just
passing along guint64 values, which GstClockTime fortunately is too.

The current idea is to collect the regions returned by the callback into
a FIFO buffer and pop and pre-render the top one into a separate
quick-to-blend cached format, which is then appropriately blended in the
video chain until the next one on top of the stack reaches the video chains
running time (or the fallback timer hits).
2010-12-08 16:30:09 +01:00
Mart Raudsepp
316cd44c8d dvbsuboverlay: Add FIXME note about non-constant PTS for a display set handling. 2010-12-08 16:30:09 +01:00
Mart Raudsepp
7cab41013e dvbsuboverlay: Remove dvb_sub_feed() API
GStreamer will only use dvb_sub_feed_with_pts, as it has its own PES filter
to do the header parsing.
2010-12-08 16:30:09 +01:00
Tim-Philipp Müller
08c355823b dvbsuboverlay: more TODO 2010-12-08 16:30:09 +01:00
Mart Raudsepp
1db547f0b6 gstmpegtsdemux: add temporary **HACK** for dvb subs testing so dvbsuboverlay gets whole packets
<tpm> leio, what's the mpegts demux hack about?
<leio> my libdvbsub code can't handle cut packets
<leio> so the hack instructs the demuxer to gather full packets before pushing down, but it applies that to more PES packet types than just dvbsub, but I'm not sure if that's a bad thing
<leio> either way, needs a cleaner solution, either in demuxer, or I need to handle cut packets
<tpm> ok, but really it should be fixed in the overlay, right?
<tpm> or a parser be inserted
<leio> the problem is that I don't know from the first packet beforehand if it is a cut one or no
<leio> not
<leio> err, first buffer
<leio> just when I receive the next one I see if it has a valid timestamp on it or not
<leio> so I can't very well queue it up in the chain either, I might be blocking the very last subtitle for no reason or something
<tpm> but you could just drop/ignore packets until you find one, right?
<leio> find what?
<tpm> a complete packet?
<leio> the problem isn't that they aren't complete
<leio> the problem is that they are cut across multiple GstBuffers by the demuxer without the hack
<tpm> sure, I understand that
<tpm> but you can't easily determine if a GstBuffer contains he start fragment of a packet or not?
<leio> I guess I could parse the packet and see if its length is enough, just like the libdvbsub code eventually does too
<leio> I can, it has a timestamp if it's the first chunk
<leio> I just never know if I need to wait for more, without some parsing
<tpm> ah ok
<leio> while the demuxer could just give me an uncut one in the first place
<leio> like it always does for program streams
<leio> that gather_pes is always set in gstmpegdemux, but not in gstmpegtsdemux
2010-12-08 16:30:09 +01:00
Mart Raudsepp
a8d891dc5e dvbsuboverlay: initial version, work in progress 2010-12-08 16:30:09 +01:00
Mark Nauwelaerts
f64f03264f audioparsers: update some documentation 2010-12-03 18:23:20 +01:00
Mark Nauwelaerts
8f0e2346c7 mpegaudioparse: add to documentation 2010-12-03 18:23:17 +01:00
Mark Nauwelaerts
fa0dea3fdc dcaparse: add to documentation 2010-12-03 18:23:14 +01:00
Mark Nauwelaerts
f4e916f882 qtmux: add documentation 2010-12-03 18:23:12 +01:00
Mark Nauwelaerts
26feb26fc1 baseparse: increase keyframe awareness
... which is not particular relevant for audio parsing, but more so
in video cases.  In particular, auto-determine if dealing with video (caps).
2010-12-03 18:23:06 +01:00
Stefan Kost
6e9763a090 camerabin: smal api doc update 2010-12-02 15:51:16 +02:00
Lasse Laukkanen
e96b8a7b5f camerabin: Avoid assertion on image finishing
As imgbin_finished() is scheduled from g_idle_add, it might
be run a little later than expected, this can lead to the application
setting camerabin to ready before imgbin_finished() runs. In this case,
the processing counter goes to 0 and an assertion happens.

This patch relaxes the imgbin_finished() check on the processing
counter.
2010-12-02 05:42:08 -03:00
David Schleef
0e129b05f5 chopmydata: Add new element
This element splits up a stream into randomly-sized buffers.
Useful (maybe) for testing parsers.
2010-12-01 23:24:24 -08:00
Alessandro Decina
aae72680bd Fix compiler warnings with gcc 4.2.1 on OSX. 2010-12-01 23:20:36 +01:00
Mark Nauwelaerts
ce6d8b6d93 ac3parse: use proper EAC-3 caps 2010-12-01 15:29:55 +01:00
David Hoyt
c79aba9e1e qtmux: handle msvc ftruncate incompatibility
Fixes #636185.
2010-12-01 10:48:51 +01:00
David Schleef
159e2768d6 Fix pad template memleaks
Pad templates returned by gst_static_pad_template_get() were not
being unreffed.
2010-11-30 18:54:46 -08:00
Mark Nauwelaerts
aa93b5b458 baseparse: avoid unexpected stray metadata 2010-11-30 16:23:26 +01:00
Mark Nauwelaerts
145e041af5 baseparse: use proper _NONE output value when applicable 2010-11-30 16:23:24 +01:00
Sebastian Dröge
5df40a727c jp2kdecimator: Add a JPEG2000 decimator element
This element drops information from JPEG2000 images without reencoding.
2010-11-30 12:39:46 +01:00
Alejandro Gonzalez
0930f0645f qtmux: gst_qtmux_check_difference verify before subtract
Avoid negative overflow by checking the order of operands
on subtraction of unsigned integers.

https://bugzilla.gnome.org/show_bug.cgi?id=635878
2010-11-29 09:21:39 -03:00
David Schleef
7e8081c89e mpegtsmux: Fix some memleaks 2010-11-27 19:09:58 -08:00
Edward Hervey
3a507f9ef9 videomeasure: Remove dead assignments 2010-11-25 19:31:03 +01:00
Edward Hervey
ba40212297 tta: Remove dead assignments and useless variable 2010-11-25 19:25:27 +01:00
Edward Hervey
a4c4debf5d stereo: Remove dead assignments 2010-11-25 19:24:56 +01:00
Edward Hervey
63251255a9 sdp: Remove useless variables 2010-11-25 19:21:23 +01:00
Edward Hervey
f69ee5ca33 rtpmux: Remove dead assignments 2010-11-25 19:21:11 +01:00
Edward Hervey
bebfa4d50a real: Remove dead assignments 2010-11-25 19:21:01 +01:00
Edward Hervey
59ec2bff48 ivfparse: Remove dead assignments 2010-11-25 19:20:51 +01:00
Edward Hervey
6507312e46 freeze: Remove dead assignments 2010-11-25 19:06:49 +01:00
Edward Hervey
8356184967 dvdspu: Remove dead assignments 2010-11-25 19:06:38 +01:00
Edward Hervey
0d7ba7dc1a dtmf: Remove dead assignments 2010-11-25 19:06:27 +01:00
Edward Hervey
7905c19e4e dccp: Remove dead assignments 2010-11-25 19:01:42 +01:00
Edward Hervey
15cd318ada audioparsers: Remove dead assignments 2010-11-25 18:56:42 +01:00
Andoni Morales Alastruey
bc3917bb04 audioparse: fix possible division-by-zero
https://bugzilla.gnome.org/show_bug.cgi?id=635786
2010-11-25 17:28:16 +01:00
Robert Swain
0de362f248 interlace: Fix buffer timestamp and duration
The field rate is twice the frame rate of the src pad and so the duration of
one output buffer is src_fps_d / (2 * src_fps_n).
2010-11-24 12:09:16 +01:00
Robert Swain
341b0c2d62 interlace: Rename pattern property to field-pattern
This is mostly for clarity of what the property means and, I believe, makes the
pattern-offset property more comprehensible.
2010-11-24 12:09:16 +01:00
Robert Swain
bea13ef43b interlace: Add pattern offset property
This property allows one to start at any point within the field pattern after
a discontinuity (whenever gst_interlace_reset () is called). Thus with the
2:3:3:2 pattern, for example, one can start at offset 2 and achieve 3:2:2:3
or offset 1 and achieve 3:3:2:2.
2010-11-24 12:09:16 +01:00
Lasse Laukkanen
5c2f805199 camerabin: Create imagebin elements when image mode is set in camerabin NULL state
This patch refactors imagebin element creation and linking into separate functions,
and adds re-using also for imagebin internally created elements.

So this refactoring allows creating imagebin elements already in NULL state when
application sets the image mode, and next state change from NULL to READY will be faster.
This reduces first capture latency.

Earlier the elements were both created and linked in NULL to READY state change.
2010-11-23 10:04:24 -03:00
Andoni Morales Alastruey
e307bfe6e6 mpegtsparse: Create a sub-buffer with the section length 2010-11-23 11:26:56 +01:00
Thiago Santos
7622328aab jpegparse: Small optimization on tags parsing
Optimize a little avoiding copying a taglist when parsing xmp/exif
data.
2010-11-22 17:43:53 -03:00
Thiago Santos
8d5cfc6511 outputselector: Avoid losing the last_buffer when switching
This patch makes outputselector take an extra ref when pushing
the last_buffer to avoid it losing it during the switch function.

This makes resend-latest properly work if the active-pad is changed
during the switch function buffer pushing (on a pad probe, for example).

https://bugzilla.gnome.org/show_bug.cgi?id=629917
2010-11-22 17:34:02 -03:00
Thiago Santos
0451adeabd outputselector: Recheck pending switch after pushing buffer
This patch makes output-selector always recheck if there's a
pending pad switch after pushing a buffer, preventing that
it pushes a buffer on the 'wrong' pad.

https://bugzilla.gnome.org/show_bug.cgi?id=629917
2010-11-22 17:29:17 -03:00
David Schleef
edc392fcc8 colorspace: remove incorrect check 2010-11-21 23:13:30 -08:00
Mark Nauwelaerts
d7a9452a6e qtmux: remove remnant of obsolete property 2010-11-19 19:21:38 +01:00
Marc-André Lureau
a4b93bb95d qtmux: allow specifying trak timescale
This is mainly because Smoothstreaming client are broken and don't
take the TimeScale property into account.
2010-11-19 19:21:38 +01:00
Mark Nauwelaerts
5abdd9ab03 qtmux: include sdtp atoms for ismv fragmented files
Based on patch by Marc-André Lureau <mlureau@flumotion.com>
2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
083c26aca8 qtmux: enable default fragmented file for ismlmux 2010-11-19 19:21:37 +01:00
Marc-André Lureau
b5f6f94d54 qtmux: add ismlmux, for fragmented isml major brand 2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
46e2186fd9 qtmux: finalize sinkpads list 2010-11-19 19:21:37 +01:00
Marc-André Lureau
8f84cbd620 qtmux: add moov in streamheader 2010-11-19 19:21:37 +01:00
Marc-André Lureau
3ae5297660 qtmux: add streamable property to avoid building fragmented mfra index 2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
f03dc57faf qtmux: add mfra to fragmented file
Based on patch by Marc-André Lureau <mlureau@flumotion.com>
2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
68d5ab1a1d qtmux: optionally create fragmented file
In this mode, an initial empty moov (containing only stream metadata) is written,
followed by fragments containing actual data (along with required metadata).
New fragments are started either at keyframe (if such are sparse) or when
property configured duration exceeded.

Based on patch by Marc-André Lureau <mlureau@flumotion.com>

Fixes #632911.
2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
bd46298ca6 qtmux: use helper to set atom flags from given uint 2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
857efb4917 qtmux: refactor configuring and sending of moov
Based on patch by Marc-André Lureau <mlureau@flumotion.com>
2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
e361a0b3ce qtmux: refactor extra top-level atom handling
Also check a bit more for possible errors, and free proper items in such case.
2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
261df7636e qtmux: refactor slightly using buffer helper 2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
3fea86fa60 qtmux: fix misinforming comment 2010-11-19 19:21:37 +01:00
Mark Nauwelaerts
1a279a9466 qtmux: delegate mvex handling to atoms
... which keeps qtmux simpler.
2010-11-19 19:21:36 +01:00
Marc-André Lureau
78d2d8598d qtmux: add mvex/trex in header if fragmented
One "trex" is added per "trak". We don't support default values,
but the "trex" box is mandatory.
2010-11-19 19:21:36 +01:00
Marc-André Lureau
84d8b33d1a qtmux: add a couple of fourcc for fragmented mp4 2010-11-19 19:21:36 +01:00
Mark Nauwelaerts
7e4c96359f qtmux: avoid removing temp file when error occurred 2010-11-19 19:21:36 +01:00
Marc-André Lureau
401fb0a09b qtmux: truncate buffer file after each send 2010-11-19 19:21:36 +01:00
Marc-André Lureau
055a1a3b0a qtmux: remove temp file when reset/finalize 2010-11-19 19:21:36 +01:00
Arun Raghavan
8ca66f336e jpegformat: Push tags after setting srcpad caps
This patch defers emission of tag events till caps are set on the source
pad of jpegparse, so that these tags can be seen downstream.

https://bugzilla.gnome.org/show_bug.cgi?id=627211
2010-11-19 14:57:59 -03:00
Alessandro Decina
b005ed2197 mpegtsparse: fix compiler warning 2010-11-19 18:51:32 +01:00
Andoni Morales Alastruey
fb9234de78 mpegtsparse: fix thinko 2010-11-19 18:33:10 +01:00
Andoni Morales Alastruey
b11f737096 mpegtsparse: fix handling of TOT and TDT sections. Fixes #635281.
TDT and TOT sections, with PID=0x14, doesn't extend to several packets
and the section filter is not needed here and shouldn't be used at all
for these tables because the have a different structure.
For example, TDT tables were not parsed for odd hours because this bit
is the 'current_next_indicator' bit for the other sections, and the table
was discarded.
2010-11-19 18:11:50 +01:00
Andoni Morales Alastruey
2611b12970 mpegtsparse: don't calculate the CRC for TOT tables. Fixes #635281.
TOT tables, with table_id=0x73, don't have a CRC, so don't calcute it
2010-11-19 18:10:47 +01:00
Víctor Manuel Jáquez Leal
e5728ebcb1 jpegparse: add gst_jpeg_parse_skip_marker ()
https://bugzilla.gnome.org/show_bug.cgi?id=626618
2010-11-19 16:30:18 +02:00
Víctor Manuel Jáquez Leal
285c32e01f jpegparse: use byte reader accessors
https://bugzilla.gnome.org/show_bug.cgi?id=626618
2010-11-19 16:27:24 +02:00
Víctor Manuel Jáquez Leal
e11fdf67f0 jpegparse: inline gst_jpeg_parse_sof ()
No functional changes (hopefully).

https://bugzilla.gnome.org/show_bug.cgi?id=626618
2010-11-19 16:25:39 +02:00
Víctor Manuel Jáquez Leal
d0dc44db02 jpegparse: fix typo
https://bugzilla.gnome.org/show_bug.cgi?id=626618
2010-11-19 16:25:35 +02:00
Aleksey Lim
d66ef4dea8 camerabin: Do not use audio clock after stopping video capture
Adda provide clock function to camerabin to make it not
provide the audio clock of the record bin when no video
recording is happening

Fixes #613379
2010-11-18 10:58:06 -03:00
Mark Nauwelaerts
68dca2e704 baseparse: use correct offset when adding index entry
... bearing in mind that BUFFER_OFFSET is media specific and may not
reflect the basic offset after having been parsed.
2010-11-17 16:24:13 +01:00
Mark Nauwelaerts
9b6439a36c baseparse: enhancements for timestamp marked framed formats
That is, as such formats allow subclass to extract position from frame,
it is possible to extract duration (if not otherwise provided)
from (near) last frame, and a seek can fairly accurately target the required
position.

Fixes #631389.
2010-11-17 15:36:41 +01:00
Mark Nauwelaerts
08cab00b8b baseparse: refactor frame scanning peformed by _loop 2010-11-17 15:36:38 +01:00
Mark Nauwelaerts
587106f1cf baseparse: slightly optimize sending of pending newsegment events 2010-11-17 15:36:36 +01:00
Mark Nauwelaerts
f82f330537 baseparse: minor fixes and enhancements
Arrange for upstream as well as downstream flushing when seeking.
Also determine upstream size as well as seekability.  Adjust some comments
to reality and employ debug statement in proper order.
2010-11-17 15:36:23 +01:00
Mark Nauwelaerts
b65da8e775 aacparse: minor cleanups 2010-11-17 15:36:20 +01:00
Mark Nauwelaerts
0fdc68cd46 aacparse: fix regression in ADIF src caps setting 2010-11-17 15:36:18 +01:00
Mark Nauwelaerts
36cbbd94c6 flacparse: parse seektable
Fixes #631389 (partially).
2010-11-17 15:36:02 +01:00
Mark Nauwelaerts
551f9707fa flacparse: minor refactor and enable default baseparse segment clipping 2010-11-17 15:35:59 +01:00
Mark Nauwelaerts
896c4b71af mpegaudioparse: fix silly leak in _reset 2010-11-09 20:52:10 +01:00
Sebastian Dröge
9ac7950d2c colorspace: Update generated ORC sources 2010-11-05 10:57:22 +01:00
Thiago Santos
60a6eca2a1 camerabin: Adds 'idle' property
Adds 'idle', a read-only boolean property that tells applications
if there is any capturing/saving/encoding going on in camerabin. If
not, it is safe to set it to NULL and release resources without
losing data.
2010-11-04 22:48:02 -03:00
Lasse Laukkanen
bc1b09c1c4 camerabin: Add "ready-for-capture" property
Add "ready-for-capture" property to indicate if preparing a new
capture is possible.

"ready-for-capture" changes before the 'image-done' signal, so
the application can be notified that it can do a new capture
even before the previous one has finished encoding/saving.
2010-11-04 21:41:07 -03:00
Sebastian Dröge
a1994b59f5 colorspace: Inverse -base version check logic to actually make sense 2010-11-04 14:19:09 +01:00
Olivier Crête
7ad651c3ff pcapparse: Add support for Linux Cooked Capture (SLL) frames 2010-11-03 18:50:51 -04:00
Olivier Crête
16ec12371a pcapparse: Fail on unknown version or linktype
The element only knows about major version 2 and only decodes linktype ethernet
2010-11-03 18:23:27 -04:00
Olivier Crête
ec16c22f54 pcapparse: Send error GstMessage if stream doesn't have the expected magic 2010-11-03 18:02:49 -04:00
Andoni Morales Alastruey
891e08f220 mpegtsparse: send TDT tables messages in a serialized event downstream
https://bugzilla.gnome.org/show_bug.cgi?id=633917
2010-11-03 04:48:00 +00:00
Sebastian Dröge
6723122127 colorspace: Add support for IYU1 2010-11-03 15:39:27 +01:00
Sebastian Dröge
dec9b54698 colorspace: First version of YUV9 and YVU9 implementation 2010-11-03 15:39:27 +01:00
Sebastian Dröge
eccb88afb0 colorspace: Use GST_CHECK_PLUGINS_BASE_VERSION() instead of other hacks 2010-11-03 15:39:27 +01:00
Thijs Vermeir
2271608c43 mpegvideoparse: fix timestamp generation
Use information from the gop header and picture
header to calculate the picture timestamp. (time_code
and temporal_reference) and adapt to upstream timestamps if
provided.

https://bugzilla.gnome.org/show_bug.cgi?id=632222
2010-11-03 11:12:38 +01:00
Tim-Philipp Müller
ff0a34ce3d colorspace: fix build with current git of gst-plugins-base
ifdef tests don't work so well if we define them in the code
above in case they aren't defined.
2010-11-02 17:01:01 +00:00
Sebastian Dröge
50fa9610b1 colorspace: Add support for 8 bit paletted RGB
This needs the 8 bit paletted support from -base
which will be committed after release. Without this
the 8 bit parts are disabled.
2010-11-02 16:07:07 +01:00
Thiago Santos
d96964e391 camerabin: Add missing change to previous commits
Forgot to add this change to the latest commits. This fixes the build.
2010-11-02 10:24:49 -03:00
Thiago Santos
7ae195788a camerabin: Fix leaks in the preview handling
Remember to unref the bus after adding the watch.
Remember to unref the element after getting it with
gst_bin_get_by_name.
2010-11-02 09:39:49 -03:00
Lasse Laukkanen
5a5fca2689 camerabin: Do not leak a caps
gst_caps_replace doesn't take ownership, but refs the caps. So we
unref the remaining caps.
2010-11-02 09:39:40 -03:00
Thiago Santos
618f32ad8d camerabin: Reset pre-night-mode stored fps when mode changes
When switching between video/still modes the pre-night-mode fps
should be reset to prevent it being used in the incorrect mode, causing
the videosource to fail configuring itself
2010-11-02 09:16:45 -03:00
Thiago Santos
6ee256d462 camerabin: Store app preferred capture parameters separately
Store width/height/fps for video captures in a separate variable
than the one that stores the currently used value.

This prevents the user preferences to be lost when resetting
the currently used dimensions for night mode, for example
2010-11-02 09:16:44 -03:00
Thiago Santos
73a909c0e3 camerabin: cleanup used caps when going to NULL
Resets used caps so that camerabin doesn't try to use them
when restarting, where elements/properties might have changed
and the old caps be incompatible
2010-11-02 09:16:44 -03:00
Teemu Katajisto
ca16d951ba camerabin: fix priority for idle_add function
Adds a higher priority to the idle_add function for when
the image bin finished the image capture. This reduces the
delay for the application to be notified about this.
2010-11-02 09:16:44 -03:00
Stefan Kost
dad82be640 inputselector: log times in human readable form 2010-11-01 23:05:42 +02:00
Stefan Kost
380fd56938 inputselector: move reoccuring logs to LOG and remove a double info
Less debug spew in DEBUG category. No need to log pad again if we use
GST_LOG_OBJECT(pad,...).
2010-11-01 22:47:21 +02:00
Tim-Philipp Müller
c627604ea9 cog, colorspace: update orc backup functions for latest changes
Should fix build on systems without the latest orc.
2010-11-01 15:54:18 +00:00
Sebastian Dröge
e8186a45a1 colorspace: Add support for RGB15 and BGR15 2010-10-31 23:46:27 +01:00
Sebastian Dröge
a2eb43fade colorspace: Add support for RGB16 and BGR16 2010-10-31 23:44:20 +01:00
Sebastian Dröge
3c8e0286dc colorspace: Add support for Y16 2010-10-31 23:25:57 +01:00
Sebastian Dröge
52f3e1351a colorspace: Fix Y800 ORC getline implementation 2010-10-31 23:25:40 +01:00
Sebastian Dröge
d29423fd76 colorspace: Add support for A420 2010-10-31 23:08:39 +01:00
Sebastian Dröge
cd135c24e4 colorspace: Add support for Y41B 2010-10-31 23:00:07 +01:00
Sebastian Dröge
eb2a295316 colorspace: Add support for SDTV/HDTV YUV conversions 2010-10-31 22:47:35 +01:00
Sebastian Dröge
c1027a72fe colorspace: Add comment for the A420 getline/putline table row 2010-10-31 22:21:35 +01:00
Sebastian Dröge
d8027b4e67 colorspace: Add const to the source arrays and the getline/putline table 2010-10-31 20:40:09 +01:00
Sebastian Dröge
58949450b5 colorspace: Make fast-path transform table const 2010-10-31 19:42:30 +01:00
Sebastian Dröge
e49aa545d0 colorspace: Only do the I420->YUY2 conversion once per scanline in the fast path 2010-10-31 19:40:01 +01:00
Mark Nauwelaerts
ba35b17b98 baseparse: use only upstream duration if it provides one 2010-10-29 14:11:47 +02:00
Mark Nauwelaerts
61cf6f2ffa baseparse: reflow update_bitrate code
... which makes local variables represent real state better, and avoids
triggering unneeded updates/actions.
2010-10-29 14:11:44 +02:00
Mark Nauwelaerts
841e09e234 baseparse: add some debug statements 2010-10-29 14:11:42 +02:00
Sebastian Dröge
4c48e791b3 gaudieffects: Include gstcontroller header and add the required CFLAGS 2010-10-28 18:52:07 +02:00
Luis de Bethencourt
cadfe13839 gaudieffects: made filter parameters dynamic and controllable 2010-10-28 18:52:07 +02:00
Sebastian Pölsterl
13431420eb mpegtsparse: Add tag event emission. Fixes #627253 2010-10-28 11:45:46 +01:00
Thiago Santos
0999fdb82a camerabin: Check the source scene mode when creating it
As camerabin only gets notified of the changes from the
video source element, it should query the initial value
once the source is created so it initializes itself
correctly.
2010-10-21 16:43:45 -03:00
Tim-Philipp Müller
05cec96949 dcaparse: init variable to make osx build bot happy
gstdcaparse.c: In function 'gst_dca_parse_check_valid_frame':
gstdcaparse.c:246: warning: 'best_sync' may be used uninitialized in this function
2010-10-19 23:25:54 +01:00
Tim-Philipp Müller
d5a008b9ee audioparsers: add very basic dts/dca parser
Still some issues, e.g. with seekable queries in totem, but also
processing already-chunked input (created with matroskademux ! gdppay).
2010-10-19 18:00:14 +01:00
Stefan Kost
90e90fd368 videoanalyse: fix copy'n'paste off by one for param spec flags change 2010-10-19 16:25:00 +03:00
Stefan Kost
0c22e1b954 various (gst): add missing G_PARAM_STATIC_STRINGS flags
Canonicalize property names as needed.
2010-10-19 15:47:17 +03:00
Stefan Kost
92634ff92a various: wrap property registration and add a single fixme for long desc. 2010-10-19 15:36:18 +03:00
Stefan Kost
8ab60bd7cd pnmenc: remove stray " in doc comment 2010-10-19 15:08:06 +03:00
Stefan Kost
1b23f7719a dtmfsrc: remove DEBUG_FUNCPTR from gobject vmethods 2010-10-19 13:46:57 +03:00
Thiago Santos
744a1d1542 camerabin: Remove unused entry
Remove camerabin unused enum entry
2010-10-14 14:09:39 -03:00
Thijs Vermeir
96a7f9c8b1 mpegvideoparse: accelerate search for start code
As the startcode always starts with 0x000001 some iterations
can be skipped if values > 1 are detected.

~ 70% faster on HD video stream.

https://bugzilla.gnome.org/show_bug.cgi?id=632130
2010-10-14 18:52:27 +02:00
Mark Nauwelaerts
9f4339c059 ac3parse: properly parse e-ac3 frame header
Also add a few debug statements.
2010-10-14 16:53:01 +02:00
Mark Nauwelaerts
231d4d9bdc qtmux: prevent infinite loop when adjusting framerate
Fixes #632070.
2010-10-13 17:48:34 +02:00
Thiago Santos
461db47e87 geometrictransform: Adds rotate element
Adds a new rotate element to geometrictransform. It still
needs some work. But this is a good starting point.

Based on patch from Bert Douglas <bertd tplogic com>
2010-10-13 12:14:36 -03:00
Mark Nauwelaerts
697419b755 flacparse: tweak setting buffer metadata; avoid timestamp jitter
Fixes #631993.
2010-10-13 11:01:13 +02:00
Mark Nauwelaerts
9b9d8a516b aacparse: streamline src caps setting
In particular, also set src caps whenever changes in stream warrant doing so.
2010-10-12 18:19:49 +02:00
Sebastian Dröge
f576c3f128 flacparse: Don't drop the last frame if it is followed by garbage
See bug #631814.
2010-10-12 10:31:41 +02:00
Mark Nauwelaerts
6e1d65d788 baseparse: perform bitrate handling and posting after newsegment sending 2010-10-11 17:50:21 +02:00
Mark Nauwelaerts
30feca6966 baseparse: immediately post subclass provided bitrate 2010-10-11 17:42:09 +02:00
Mark Nauwelaerts
11bdf1def1 flacparse: fix parsing with unknown framesizes
Fixes #631814 (mostly).
2010-10-11 17:13:27 +02:00
Sebastian Dröge
812075dc5d flacparse: Simplify frame header parsing by using lookup tables
Based on a patch by Felipe Contreras.

See bug #631200.
2010-10-07 23:38:26 +02:00
Sebastian Dröge
64407ca94b flacparse: Don't parse the complete FLAC frames but only look for valid frame headers
Thanks to Felipe Contreras for the suggestion. This is partially
based on his patches and makes flacparse more than 3.5 times faster.

Looking for valid frame headers is unlikely to give false positives
because every frame header is at least 9 bytes long, contains a
14 bit sync code and a 8 bit checksum over the first 8 bytes.

Fixes bug #631200.
2010-10-07 23:38:25 +02:00
Mark Nauwelaerts
1617616516 sdpdemux: workaround internal rtspsrc failing state change
Fixes #630046.
2010-10-07 12:00:38 +02:00
Sebastian Dröge
77c05b5419 audioparse: Add support for setting the channel-positions 2010-10-07 10:34:48 +02:00
Sebastian Dröge
396501784c flacparse: Really post tags only after the initial newsegment event
The first newsegment event will be send by the first call to
gst_base_parse_push_buffer() if necessary, posting the tags
before that is not a good idea. Instead do it from the
GstBaseParse::pre_push_buffer vfunc.
2010-10-06 18:32:51 +02:00
Sebastian Dröge
59720fd42a chromahold: Fix hue calculation for red colors
Also make the calculation much more accurate...
2010-10-06 16:54:16 +02:00
Sebastian Dröge
10e0187df1 chromahold: Make everything greyscale if the target color is grey 2010-10-06 15:21:09 +02:00
Sebastian Dröge
fa2a4af5bb chromahold: Add chromahold color effect
This effect converts all colors except a single one to
grey. The color is selected by an RGB triple and a
tolerance for the color matching in hue degree can be specified.
2010-10-06 11:57:12 +02:00
Mark Nauwelaerts
e0cb15cea0 sdpdemux: fix and reflow some exits 2010-10-05 17:21:22 +02:00
Mark Nauwelaerts
216887d599 sdpdemux: error out if no streams found in sdp message 2010-10-05 17:08:21 +02:00
Mark Nauwelaerts
6c96f8cf1e sdpdemux: unbreak standard manager setup 2010-10-05 17:08:19 +02:00
Tim-Philipp Müller
716e430fd5 Revert "baseparse: add skip property"
This reverts commit b5a3d60363.

Reverting this for now, since no one really seems to remember why this
property exists or what it could possibly be good for. It seems to have
been in the original mp3parse since the beginning of time and was back-
ported from there.
2010-10-05 11:17:52 +01:00
Sebastian Dröge
7e581aebe2 flacparse: Fix uninitialized variable compiler warnings
These warnings are wrong, the variables are only used if they were
initialized by the bit reader.
2010-10-04 10:41:52 +02:00
Felipe Contreras
b6f1e8aa68 flacparse: fix picture parsing
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
2010-10-04 08:09:57 +02:00
Sebastian Dröge
65f620af8e flacparse: Push tags before the header buffers are pushed 2010-10-04 08:09:57 +02:00
Felipe Contreras
1a49b4de63 flacparse: trivial caps fix
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
2010-10-04 08:09:56 +02:00
Thiago Santos
4697cffbee qtmux: Add G_PARAM_STATIC_STRINGS
Add G_PARAM_STATIC_STRINGS to qtmux properties
2010-10-03 23:47:29 -03:00
Sebastian Dröge
26b2c4a1b3 audioparser: Let the format string agree with the parameters to fix compiler warning 2010-10-03 23:50:29 +02:00
Sebastian Dröge
4903e140e2 ac3parse: Use unchecked versions of the bitreader get functions
We didn't check the return values anyway...
2010-10-03 15:42:17 +02:00
Stefan Kost
7ae63847a8 valve: no need to ref the object in _chain
Don't ref the pad in chain, like elsewhere
2010-10-02 18:27:14 +03:00
Arun Raghavan
2d699010e9 baseparse: Fix debug output
We lose the reference to the buffer after gst_pad_push(), so the debug
print should happen before.

https://bugzilla.gnome.org/show_bug.cgi?id=622276
2010-10-01 13:31:36 +02:00
Mark Nauwelaerts
ad1304dcf1 baseparse: support reverse playback
... in pull mode or upstream driven.
2010-10-01 12:15:52 +02:00
Mark Nauwelaerts
603d6ba183 baseparse: remove done TODOs and update documentation 2010-10-01 12:15:52 +02:00
Mark Nauwelaerts
fdff382686 baseparse: use determined seekability in answering SEEKING query 2010-10-01 12:15:52 +02:00
Mark Nauwelaerts
b5a3d60363 baseparse: add skip property 2010-10-01 12:15:52 +02:00
Mark Nauwelaerts
8d7720eb93 mpegaudioparse: initial version
... adequately equivalent to mp3parse, so lets boldly set it
to higher rank.
2010-10-01 12:15:51 +02:00
Mark Nauwelaerts
d7b31821ea aacparse: set minimum frame size at _start
... rather than one time at _init.
2010-10-01 12:15:51 +02:00
Mark Nauwelaerts
36165d8d44 baseparse: use _set_frame_props to configure frame lead_in and lead_out
... provided a corresponding decoder with sufficient leading and following
frames to carry out full decoding for a particular segment.
2010-10-01 12:15:51 +02:00
Mark Nauwelaerts
13f85c8f11 baseparse: use _set_duration to configure duration update interval
... as it logically belongs there as one or the other; either subclass
can provide a duration, or an estimate must be made (reguarly updated).
2010-10-01 12:15:51 +02:00
Mark Nauwelaerts
eb9ba9e115 baseparse: localize use of provided fps information 2010-10-01 12:15:50 +02:00
Mark Nauwelaerts
def0aadb81 baseparse: seek table and accurate seek support 2010-10-01 12:15:50 +02:00
Mark Nauwelaerts
174d2d46fc baseparse: proper and more extended segment and seek handling
That is, loop pause handling, segment seek support, newsegment for gaps, etc
2010-10-01 12:15:50 +02:00
Mark Nauwelaerts
ec195ab2e5 baseparse: add index support 2010-10-01 12:15:50 +02:00
Mark Nauwelaerts
80646f5555 baseparse: refactor state reset 2010-10-01 12:15:49 +02:00
Mark Nauwelaerts
ad95a79de3 baseparse: prevent indefinite resyncing 2010-10-01 12:15:49 +02:00
Mark Nauwelaerts
1c14fd0a31 baseparse: specific EOS handling if no output so far 2010-10-01 12:15:49 +02:00
Mark Nauwelaerts
a1c072e0aa baseparse: adjust _set_frame_prop documentation and set default as claimed 2010-10-01 12:15:49 +02:00
Mark Nauwelaerts
cf159041a7 baseparse: fix bitrate copy-and-paste and update heuristic 2010-10-01 12:15:49 +02:00
Mark Nauwelaerts
80ba9a1a3e baseparse: post duration message if average bitrates is updated 2010-10-01 12:15:48 +02:00
Mark Nauwelaerts
4dff7c81d6 baseparse: remove is_seekable vmethod and use a set_seek instead
Seekability, like duration, etc is unlikely to change (frequently), and
the default assumption covers most cases, so let subclass set when needed.
At the same time, allow subclass to indicate if it has seek-metadata (table)
available, and possibly have it provide an average bitrate.
2010-10-01 12:15:48 +02:00
Mark Nauwelaerts
c516bf8679 ac3parse: remove redundant default is_seekable 2010-10-01 12:15:48 +02:00
Mark Nauwelaerts
582b756bc1 baseparse: add another hook for subclass prior to pushing buffer
... and allow subclass to perform custom segment clipping, or to
emit tags or messages at this time.
2010-10-01 12:15:48 +02:00
Mark Nauwelaerts
ea7e051827 baseparse: 0 converts to 0 by default 2010-10-01 12:15:47 +02:00
Mark Nauwelaerts
2e7de32849 basepase: refactor conversion using helper function and export default convert 2010-10-01 12:15:47 +02:00
Mark Nauwelaerts
420121705d baseparse: streamline query handling 2010-10-01 12:15:47 +02:00
Mark Nauwelaerts
a1f51f3d17 baseparse: cleanup struct and remove unused member 2010-10-01 12:15:47 +02:00
Mark Nauwelaerts
b0d62f4182 audioparsers: increase ranks to enable auto-plugging
Because we can, and should, have some shakedown testing before having
these make it into -good later on ...
2010-10-01 12:15:46 +02:00
Arun Raghavan
2978216db1 baseparse: Allow chaining of subclass event handlers
This allows the child class to chain its event handler with
GstBaseParse, so that subclasses don't have to duplicate all the default
event handling logic.

https://bugzilla.gnome.org/show_bug.cgi?id=622276
2010-10-01 12:15:46 +02:00
Olivier Crête
9246ed081e valve: Make the drop variable into an atomic.
Using an atomic allows us to avoid locking the whole object all time time.
As suggested by Stefan Kost.
2010-09-30 16:26:19 -04:00
Olivier Crête
0af7cc8ba7 valve: Correctly set the DISCONT flag after dropping buffers 2010-09-30 16:22:04 -04:00
Olivier Crête
18ed4bafb9 valve: Remove superflous checking casts 2010-09-30 16:16:47 -04:00
Olivier Crête
5656523162 valve: Fix style, improve comments
Minor improvements to the comments and break a few overly long lines
2010-09-30 16:13:23 -04:00
Olivier Crête
51887b934f rtpmux: Improve documentation
Add an example pipeline, and try to explain a bit more what it does.
2010-09-30 16:07:29 -04:00
Thiago Santos
5cb8164938 camerabin: Do not wrongly fail when starting a capture
If the elements are in NULL/READY and changing state to
PAUSED/PLAYING while a capture is started
camerabin might not set the active_bin properly causing the
capture start to fail.

This patch fixes it by checking the current and pending state
of the branches instead of only the current one
2010-09-29 18:42:27 -03:00
Sebastian Dröge
4e43e8bc67 frei0r: Use static caps instead of converting strings to caps all the time 2010-09-28 16:20:50 +02:00
Sebastian Dröge
498620d16c frei0r: Fix crashes if plugins don't provide correct property information
The vertigo plugin for example claims to have 3 properties but
the 3rd property does nothing and has a NULL name.

Fixes bug #630783.

Thanks to Martti Kühne for debugging this.
2010-09-28 16:16:31 +02:00
Stefan Kost
d0d4055732 valve: move default: parst in the switch statement to the end
Now sure if it matters, but the previous form looks weired.
2010-09-28 14:27:17 +03:00
Stefan Kost
5fa5e2d777 valve: move debug-category registration to type init 2010-09-28 14:23:40 +03:00
Stefan Kost
69ea2ec2ba liveadder: move debug-category registration to type init 2010-09-28 14:23:40 +03:00
Stefan Kost
afa30fb8ea liveadder: GST_BOILERPLATE already sets parent_class 2010-09-28 14:23:40 +03:00
Stefan Kost
7bd3e239a5 liveadder: use base_init for pad_templates and element_details 2010-09-28 14:23:40 +03:00
Stefan Kost
7e63d37f1c liveadder: use G_PARAM_STATIC_STRINGS on properties 2010-09-28 14:23:40 +03:00
Stefan Kost
ccf35a80a0 valve: use G_PARAM_STATIC_STRINGS on properties 2010-09-28 14:23:40 +03:00
Stefan Kost
636ca1adde valve: GST_BOILERPLATE already sets parent_class 2010-09-28 14:10:18 +03:00
Stefan Kost
3958f8371e videomeassure: GST_BOILERPLATE already sets parent_class 2010-09-28 14:10:18 +03:00
Hu Gang
8f26b414fa photography: extend photography iface
Add more color tone modes and add NoseReduction settings.
Fixes #616814.
2010-09-28 11:37:47 +03:00
Sebastian Dröge
8dc7347d65 frei0r: Fix scanning of plugin subdirectories and support different vendors
The frei0r spec specifies, that plugins can be in subdirectories inside
the main plugin directories to introduce new namespaces called vendors.
2010-09-25 10:46:34 +02:00
Sebastian Dröge
bf74bcc1af frei0r: Update frei0r interface specification to 1.2 2010-09-24 22:47:01 +02:00
Sebastian Dröge
addf308add frei0r: Add support for the FREI0R_PATH environment variable
This was added in version 1.2 of the spec and replaces the default
list of directories.
2010-09-24 22:43:51 +02:00
Lasse Laukkanen
4ebdd9b5ac fpsdisplaysink: initialize interval_ts and last_frames_* counters
Initialize interval_ts to first QOS event timestamp, otherwise the
fps statistics are printed always after one rendered frame.
Also, initialize last_frames_* counters, the values are bogus e.g. after
PLAYING-NULL-PLAYING state change.
2010-09-24 08:21:00 -03:00
Stefan Kost
a6b26cac65 rtpdtmfmux: remove unused variable 2010-09-24 13:30:30 +03:00
Stefan Kost
207aac1cec rtpdtmfmux: remove unused signal boilerplate 2010-09-24 13:30:30 +03:00
Stefan Kost
1d11da647f rtpmux: no need to ref pad in _chain() 2010-09-24 13:30:30 +03:00
Thiago Santos
b8afa0cc3c camerabin: Adds new video-colorspace-flag to flags
Adds a new flag to allow a colorspace convertion before
the video encoder element.

Fixes #603063
2010-09-22 23:47:08 -03:00
Thiago Santos
0a7ae539ea camerabin: Use link_full version for disabling hierarchy check
Disable hierarchy checks when linking because we are already
handling the element adding to bins and it should be done
correctly.
2010-09-22 23:47:08 -03:00
Thiago Santos
e893a8b82e camerabin: Set queues to silent
We currently don't use queues' signals, so set them
to silent.
2010-09-22 23:47:08 -03:00
Wim Taymans
c905ec861e pcapparse: fix weird caps code
Remove the weird (failing) code to figure out caps on the srcpad.
Add a caps property to decide what caps to put on the outgoing buffers.
Fix an event leak.
2010-09-22 16:43:21 +02:00
David Schleef
8e96a3393d colorspace: quiet a GST_ERROR 2010-09-21 18:16:08 -07:00
Wim Taymans
528f6e0573 sdpdemux: add property to disable redirect
Add a property to avoid redirection to the rtsp-sdp:// url but instead embeds an
rtspsrc element inside sdpdemux as the session manager.

Based on patch by Marco Ballesio.

Fixes #630046
2010-09-21 19:15:27 +02:00
Sebastian Dröge
21d74bb58d ttaparse: Don't post an error message on UNEXPECTED
Also don't use GST_FLOW_IS_FATAL()
2010-09-21 12:26:36 +02:00
Sebastian Dröge
d4782cbff8 sdpdemux: Don't use GST_FLOW_IS_SUCCESS() 2010-09-21 12:26:36 +02:00
Sebastian Dröge
793a3563fa rawparse: Don't use GST_FLOW_IS_FATAL() 2010-09-21 12:26:36 +02:00
Sebastian Dröge
f6014febc0 nuvdemux: Don't use GST_FLOW_IS_FATAL()
And don't post an error message for WRONG_STATE or UNEXPECTED.
2010-09-21 12:26:35 +02:00
Sebastian Dröge
d95bb66074 nsf: Don't use GST_FLOW_IS_FATAL() 2010-09-21 12:26:35 +02:00
Sebastian Dröge
dd8ae4e027 mxfdemux: Don't use GST_FLOW_IS_FATAL() 2010-09-21 12:26:35 +02:00
Sebastian Dröge
f6713f9c3b mvedemux: Add proper flow return aggregation
NOT_LINKED should only be returned if all streams returned NOT_LINKED.
2010-09-21 12:26:35 +02:00
Sebastian Dröge
f407d51ae8 mpegdemux: Don't use GST_FLOW_IS_FATAL()
And fix some minor issues related to its usage.
2010-09-21 12:26:35 +02:00
Sebastian Dröge
dab5cbb1c0 autoconvert: Don't use GST_FLOW_IS_FATAL() 2010-09-21 12:26:35 +02:00
Sebastian Dröge
2c6372f41a baseparse: Don't use GST_FLOW_IS_FATAL()
Also don't post an error message for UNEXPECTED and do it
for NOT_LINKED.
2010-09-21 12:26:34 +02:00
Sebastian Dröge
b68a1e805d asfparse: Don't use GST_FLOW_IS_FATAL()
Also don't push EOS downstream on WRONG_STATE, it will be dropped anyway.
2010-09-21 12:26:34 +02:00
Sebastian Dröge
f2affc667f aiffparse: Don't use GST_FLOW_IS_FATAL() 2010-09-21 12:25:53 +02:00
Thiago Santos
30ff1ea346 camerabin: Mention photography interface in docs
Add a note to docs about getting the videosource and accessing
its photography interface (in case it has it)

Fixes #616923
2010-09-20 21:49:35 -03:00
Lasse Laukkanen
5767739431 camerabin: Adds missing variable initialization
Adds missing app_src_vid initialization
2010-09-20 21:22:55 -03:00
Teemu Katajisto
e6141120d8 camerabin: check state change to playing for imagebin and videobin
Properly check and handle error cases related to imagebin and
videobin state changes.
2010-09-20 21:21:58 -03:00
Thiago Santos
5355a3efd7 camerabin: Remove useless src template pad
camerabin imagebin doesn't need a src template pad.
2010-09-20 21:21:58 -03:00
Thiago Santos
9c3692cc4f camerabin: Forward tag events to preview pipeline
Forward tag events from image pipeline to preview pipeline so
that preview elements can use capture tags information
2010-09-20 21:21:58 -03:00
Hoseok Chang
f0f8df1a30 camerabin: add "preview-source-filter" property
Adds 'preview-source-filter' for adding an element to proccess
the preview images before posting them to the bus.
2010-09-20 20:46:00 -03:00
Thiago Santos
44fa17b036 camerabin: Make block-after-capture resetting more consistent
Adds another boolean to help controlling viewfinder blocking,
making it possible for the applications to reset the viewfinder
blocking after capture was started but before the blocking
actually happens.
2010-09-20 18:26:48 -03:00
Thiago Santos
87d600b7a2 camerabin: Unblock the viewfinder when going to READY
Unblock the viewfinder when going to ready to avoid
blocking when setting camerabin to playing again and
attemping to capture. Keep the property as is.
2010-09-20 18:26:48 -03:00
Thiago Santos
ca11a51295 camerabin: add monitoring and support for photoiface zoom for video-source
Makes camerabin aware of changes in its videosource zoom property.
2010-09-20 18:26:48 -03:00
Thiago Santos
19981f2787 camerabin: Change zoom property from int to float
Updates zoom property for a more natural type and
makes it consistent with the photography API
2010-09-20 18:26:48 -03:00
Lasse Laukkanen
3e6a4edb15 camerabin: remove caching photography interface settings
Camerabin doesn't implement photography interface, so we
don't need caching the video source properties anymore.
2010-09-20 18:26:48 -03:00
Teemu Katajisto
3582a4a595 camerabin: remove photography interface implementation from camerabin
Remove notify signal proxy for video-source. Application can use
video-source directly from now on to get notified of property changes.
Add monitoring scene-mode property change to select lowest possible
framerate for video capture when night mode is selected.

Fixes #616923
2010-09-20 18:26:47 -03:00
David Schleef
f464ac4d5d invtelecine: Fix name of 30p/60i pattern 2010-09-18 19:27:07 -07:00
David Schleef
8dfcc11bcb interlace: Add allow-rff property. Fix timestamping 2010-09-18 15:05:26 -07:00
David Schleef
fd3d269b8d interlace: merge telecine into normal operation 2010-09-18 14:58:04 -07:00
Robert Swain
351562936c interlace: Add telecine support 2010-09-18 14:58:04 -07:00
Thiago Santos
8047346898 qtmux: Follow xmp serialization guidelines closer
qt and isom variants have different ways of serializing
xmp, follow these guidelines.

Those can be found in Adobe's xmp docs.
2010-09-15 22:07:05 -03:00
Tim-Philipp Müller
42ffb8a4f3 colorspace: add orc-dist files
Should fix build without orc or too old orc.
2010-09-15 21:48:20 +01:00
Tim-Philipp Müller
af7887f0df checksumsink: fix up copyright in header file 2010-09-15 17:52:16 +01:00
David Schleef
5b6550dbd5 bayer2rgb: Add format=bggr/etc. to caps 2010-09-14 12:00:32 -07:00
David Schleef
742867566c colorspace: Add conversion code
Work in progress.  Colorspace handles most format conversion using
3-stage getline/matrix/putline process using an AYUV or ARGB
intermediate, with most functions handled by Orc.  There is also
a table of single-pass conversions, all handled by Orc.  The plan
is to add optional stages for various chroma upsampling/downsampling
algorithms, dithering, and float/int16 intermediates, and then have
Orc create multi-stage functions at runtime.
2010-09-14 12:00:29 -07:00
David Schleef
a25a81222d colorspace: Revive element
Now based on Orc.
2010-09-14 11:32:19 -07:00
Thiago Santos
3a9734f3dc jifmux: Reset tags when going to READY
Reset the tagsetter tags when going to READY state
2010-09-10 13:39:06 -03:00
Thiago Santos
2a0ae1ce1d jpegformat: Fix element description
Use saner categories for jifmux/jpegparse elements
2010-09-10 13:39:06 -03:00
Thiago Santos
fb00b71496 camerabin: Set tags to more elements
Remove check for 'Muxer' category when setting tags
for tagsetters. Set them to all tagsetters in the
pipelines.
2010-09-10 13:39:06 -03:00
Mark Nauwelaerts
3daea4a085 sdpdemux: redirect SDP with an rtsp control URL
When we find an SDP with an rtsp:// url as the global control attribute or when
all streams have an rtsp:// control attribute, post an redirect message with an
rtsp-sdp:// url containing the SDP.

Fixes #628214
2010-09-10 18:37:45 +02:00
Thiago Santos
6fcbf593b8 geometrictransform: Fix build with debugging disabled
Add some ifdefs to prevent build failures due to unused
variables
2010-09-10 10:29:38 -03:00
Thiago Santos
768babf968 id3mux: Map GST_TAG_ALBUM_ARTIST
Map GST_TAG_ALBUM_ARTIST to TPE2 as it is done in
-base id3tag mappings.
2010-09-08 16:57:57 -03:00
Thiago Santos
69151f6850 jifmux: Make it more colorspace smart
This makes it able to recombine rgb images, making it possible
to add tags to rgb jpegs as well.

Uses a simple strategy to check what are the possible colorspaces
and avoid adding jfif to ones that aren't YUV/Gray.
2010-09-07 14:45:12 -03:00
Robert Swain
141f728169 interlace: Fix element details 2010-09-07 13:32:26 +02:00
Mark Nauwelaerts
a5eaa99297 baseparse: non-TIME seek event is simply not handled 2010-09-06 15:20:10 +02:00
Youness Alaoui
9823b9358e dtmfsrc: Make the dtmfsrc accept events sent with gst_element_send_event
The doc says to use gst_element_send_event on the pipeline, but if
we are to call it on the element itself, it's a noop. This should make it
handle the event properly before delegating it to basesrc.
2010-09-06 13:45:44 +03:00
David Schleef
aa3fa6a542 interlace: Add documentation 2010-09-06 03:25:15 -07:00
Sebastian Dröge
6bc160a0dc fpsdisplay: Use G_GUINT64_FORMAT instead of %llu
Fixes compiler warnings on 64 bit architectures.
2010-09-06 10:29:21 +02:00
Stefan Kost
bbfff812bf inputselector: sync with copy in -base
Use _get_caps_reffed to avoid copies.
2010-09-06 11:03:07 +03:00
Stefan Kost
eca2e20945 outputselector: move the debug init to the boilerplate macro 2010-09-06 10:24:07 +03:00
Stefan Kost
b142b7a8c5 inputselector: use GST_BOILERPLATE macro 2010-09-06 10:24:07 +03:00
Stefan Kost
10776e474d fpsdisplaysink: don't add a g_mainloop dependency
Just update the fps-message from the probe handler.
2010-09-06 10:24:06 +03:00
Stefan Kost
9a03a43696 fpsdisplaysink: small cleanup
Add one one example and lower the fon't size for the overlay.
2010-09-06 10:24:06 +03:00
Rob Clark
60c963f0ac fpsdisplaysink: measure fps in terms of wall clock time
Measure fps in terms of system clock, rather than pipeline clock, to get
an accurate meaure of fps.
2010-09-06 10:24:06 +03:00
David Schleef
813a2235b5 checksumsink: Add new element 2010-09-05 22:50:06 -07:00
David Schleef
d759c92bb3 ssim: Add I420 support 2010-09-05 22:50:06 -07:00
David Schleef
5db2beeb49 interlace: Add more formats 2010-09-05 22:50:06 -07:00
Thiago Santos
9ae921f888 camerabin: Use jifmux instead of metadatamux
Use jifmux element to write exif/xmp tags instead of metadatamux
2010-09-05 09:15:56 -03:00
Thiago Santos
bcc59439bc camerabin: Use new tags from -base
Replace private tags from metadata plugin with the new generic tags
from -base.
2010-09-05 09:15:56 -03:00
Thiago Santos
27333b0ef2 jifmux: Do not limit the size of the image on 16bits
Use guint instead of guint16 to represent the size of the encoded image,
this would make some recombined images lose most of their data and
show like a big black image with a small line of content on top.

Also adds a minor log message.
2010-09-05 09:15:55 -03:00
Thiago Santos
f664fd9c04 jifmux: Set output pad caps
Set output pad caps to guarantee caps on the buffers being
pushed downstream.
2010-09-05 09:15:55 -03:00
Thiago Santos
d49acb5588 jifmux: Detect EOI correctly
EOI are not always at the last 4 bytes. We need to search
the last 5 bytes to find the 0xFFD9 sequence as jpegenc seems
to round the buffer size to the next 4 multiple.
2010-09-05 09:15:55 -03:00
Thiago Santos
ba15ad9387 jifmux: Put APP0 first always
Fixes the order of the APP0/APP1 markers. APP0 should
be first.
2010-09-05 09:15:55 -03:00
David Schleef
7ce0ca6c89 interlace: new element 2010-09-04 11:22:26 -07:00
Andoni Morales Alastruey
4668330bdc mpegtsmux: Initialize PES packet before getting the header size.
The PES header length is calculated before setting the dynamic flags, returning
a wrong value. Small frames that should be sent in a single TS packet are
spawned to a new packet because of that error. For audio streams where a single
frame can cope in one TS packet it introduces a huge overhead.

For a 100B packet, we prepare a TS packet with a payload of(100+9)B. Then, we
write the TS header using this value in tsmux_write_ts_header, and call
tsmux_stream_get_data(). The dynamic flags where not set yet and now
tsmux_stream_pes_header_length() returns 14B instead of 9B. The payload of the
TS packet is 114B, 5B more than what was calculated. 109B are sent in a first
packet and the remaining 5B are sent in another one.

Fixes bug #628548.
2010-09-04 15:01:30 +02:00
Thibault Saunier
98e6f113f6 videoanalyse: Use correct element classification
This is no effect but an analyzer. Fixes bug #628527.
2010-09-04 15:01:30 +02:00
Youness Alaoui
5cc57a82f0 rtpmux: Unlock the right mutex
The mutex locked is for the 'mux' object, but we unlock the
pad, which means that if the rtpmux gets a flush, then the
object lock will stay locked forever, causing it to freeze
the next time it tries to take it.

Fixes bug #627991
2010-08-30 15:15:50 +02:00
Mark Nauwelaerts
0ee6ce901d qtmux: autodetect out-of-order input timestamps and determine DTS accordingly
Favour using input buffer timestamps for DTS, but fallback to using buffer
duration (accumulation) if input ts detected out-of-order.

Fixes #624212.
2010-08-21 21:15:21 +02:00
Thiago Santos
407f615887 jifmux: Avoid recombining RGB jpegs
JFIF only allows YUV as colorspace, when we receive an RGB jpeg,
we should just push it forward without adding the JFIF marker.

Fixes #627413
2010-08-21 21:08:13 +02:00
Olivier Crête
db44c62acb gaudieffects: Mark inline functions as static inline
Otherwise it fails to correctly link them in some cases.

https://bugzilla.gnome.org/show_bug.cgi?id=626670
2010-08-12 09:14:10 +01:00
Sebastian Dröge
5ad7ff9482 legacyresample: Link against $(LIBM) for rint() and friends 2010-08-11 11:52:44 +02:00
Sebastian Dröge
e71baf7f9d invtelecine: Link against $(LIBM) for sqrt() and friends 2010-08-11 11:50:05 +02:00
Filippo Argiolas
fd4a629825 geometrictransform: add a "zoom" parameter to square filter
https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:54 +02:00
Filippo Argiolas
4cec7d10cd geometrictransform: make square "width" and "height" customizable
https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:54 +02:00
Filippo Argiolas
2a9b456dab geometrictransform: add a "mode" property to mirror filter
Add a "mode" enum property to mirror that defines how to split the frame
and with side reflect.

https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:54 +02:00
Filippo Argiolas
a72b2f5849 geometrictransform: add a "zoom" parameter to bulge filter
Rework bulge mapping function to give more predictable results.
Now the bulge is done dividing by a scale factor that smoothsteps from
"zoom" at the center to 1.0 at "radius".

https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:54 +02:00
Filippo Argiolas
58b76ac56c geometrictransform: add an "intensity" parameter to stretch filter
https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:53 +02:00
Filippo Argiolas
7be30c3daf geometrictransform: make tunnel "radius" customizable
https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:53 +02:00
Filippo Argiolas
1652a3ef57 geometrictransform: make bulge "radius" customizable
https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:53 +02:00
Filippo Argiolas
27134c6e38 geometrictransform: make stretch "radius" customizable
https://bugzilla.gnome.org/show_bug.cgi?id=625908
2010-08-09 19:25:53 +02:00
Sebastian Dröge
6050642add frei0r: Only check the plugin filenames, not the directory names 2010-08-08 12:01:31 +02:00
Sebastian Dröge
1e3ec9e3bd frei0r: Don't try to register/load the same frei0r plugin at different locations twice
This could happen because for example /usr/lib is linked
to /usr/lib64 and both are loaded. The frei0r specification
says that the plugin init function must only be called once
and for some plugin weird things (including crashes) are
happening.

Fixes bug #623710.
2010-08-08 11:56:42 +02:00
Olivier Crête
3579c1164b frei0r: Load plugins in /usr/{local/,}lib{32,64}/frei0r-1 too
Loads the plugins in more paths where they could be installed by
multilib distributions.

Fixes #623710
2010-08-06 03:19:16 +02:00
Filippo Argiolas
c921067208 geometrictransform: make ciclegt "radius" property relative
Make the "radius" property of CircleGeometricTransform relative.
This is more coherent with the way [x,y]-center properties are handled
and allow to set a radius without knowing the video size.
Radius is defined with respect to the circle circumscribed about the
video rectangle so that a point in the center has radius 0.0 and one in
a vertex has radius 1.0.
Note that this is not a regression from the previous absolute way of
defining the radius as a user who knows the video size can easily
calculate the relative radius and set that.

https://bugzilla.gnome.org/show_bug.cgi?id=625959
2010-08-04 20:09:09 -03:00
Tim-Philipp Müller
770194a8fc id3mux: minor code clean-up
Add helper function to write text frames with just one string.
2010-08-04 23:56:04 +01:00
Jonathan Matthew
76311f2ef0 id3mux: add support for beats-per-minute tag
Write beats per minute into the TBPM frame, and add unit
test for id3mux, based on id3v2mux unit test.

https://bugzilla.gnome.org/show_bug.cgi?id=621523
2010-08-04 23:56:04 +01:00
Sebastian Dröge
09507edb8c coloreffects: Minor cleanup 2010-08-04 10:11:11 +02:00
Sebastian Dröge
43db67f705 coloreffects: Improve property description a bit 2010-08-04 10:09:53 +02:00
Sebastian Dröge
3878dce20d coloreffects: Don't use the fixed_caps func on the pads
coloreffects can renegotiate during playback without any problems.
2010-08-04 10:08:24 +02:00
Filippo Argiolas
74de641ca4 coloreffects: add ayuv support
Currently implemented switching from yuv to rgb, looking up rgb from the
table in the usual way, getting back to yuv. With luma lookup presets
(sepia, heat, xray) a color space conversion is saved directly looking
up rgb for a given Y and converting to yuv.
Probably this latter step can even be made faster precalculating a luma
to yuv table in an outer loop.

https://bugzilla.gnome.org/show_bug.cgi?id=625817
2010-08-04 10:05:35 +02:00
Filippo Argiolas
79c343bade coloreffects: new plugin for lookup table color mapping
Implements a color lookup table filter with 4 presets:
 - heat: fake heat camera effect
 - sepia: sepia toning
 - xray: invert + shade to blue
 - xpro: cross process

https://bugzilla.gnome.org/show_bug.cgi?id=625817
2010-08-04 10:04:20 +02:00
Filippo Argiolas
0c0adffce7 geometrictransform: new filter "fisheye"
Ports gleffects "fisheye" filter to geometrictransform.
Fake fisheye lens filter. Somewhat empiric implementation because I
didn't find any good algorithm that does it with nice results.

https://bugzilla.gnome.org/show_bug.cgi?id=625722
2010-08-02 20:16:37 +02:00
Filippo Argiolas
9ee12f94de geometrictransform: new filter "mirror"
Ports gleffects "mirror" filter to geometrictransform.
Simple yet effective mirror effect, splits the image into halves and
reflect the first into the second.

https://bugzilla.gnome.org/show_bug.cgi?id=625722
2010-08-02 20:15:06 +02:00
Filippo Argiolas
5c4915d917 geometrictransform: new filter "square"
Ports gleffects "square" filter to geometrictransform.
Maps a region around the center into a zoomed square and smoothly get
back to normal zoom. With faces it makes a funny "cube-face" effect.

https://bugzilla.gnome.org/show_bug.cgi?id=625722
2010-08-02 20:14:23 +02:00
Filippo Argiolas
a7fb7ae06c geometrictransform: new filter "tunnel"
Ports gleffects "tunnel" filter to geometrictransform.
Do nothing in a circle around the center and zoom outside.

https://bugzilla.gnome.org/show_bug.cgi?id=625722
2010-08-02 20:12:44 +02:00
Filippo Argiolas
3ba3310b01 geometrictransform: new filter "bulge"
Ports gleffects "bulge" filter to geometrictransform.
Adds a protuberance around the center point.

https://bugzilla.gnome.org/show_bug.cgi?id=625722
2010-08-02 20:11:28 +02:00
Filippo Argiolas
2edd185a9a geometrictransform: new filter "stretch"
Ports gleffects "stretch" filter to geometrictransform.
Shrinks the image around the center and gradually return to normal zoom
creating funny caricatures.

https://bugzilla.gnome.org/show_bug.cgi?id=625722
2010-08-02 20:09:26 +02:00
Jan Schmidt
2f1899cd31 gaudieffects: Add Gaussian Blur effect, and brief example. 2010-08-02 20:46:48 +10:00
Zaheer Abbas Merali
c7b195740e mpegtsparse: actually work when we have small buffers coming in
available_fast is not what we want and it will never get to discover packet
size if 188 byte buffers are being picked up.
2010-07-29 10:38:58 +01:00
Tim-Philipp Müller
e12ca273db ivfparse: fix up macros and function names to match guidelines 2010-07-28 18:42:05 +02:00
Tim-Philipp Müller
120d4a2955 gaudieffects: fix structure names to comply with the plugin moving guidelines 2010-07-28 18:42:05 +02:00
Marc-André Lureau
691901da51 qtmux: use caps bitrate at last chance
If we didn't get the stream's bitrate from one of the atoms,
try getting it from the caps as a last resort.

https://bugzilla.gnome.org/show_bug.cgi?id=625496
2010-07-28 12:23:21 -03:00
Marc-André Lureau
2e17f7cbf7 qtmux: btrt - max bitrate before average
According to iso base media file format, the max bitrate
is before the avg

https://bugzilla.gnome.org/show_bug.cgi?id=625496
2010-07-28 12:20:52 -03:00
Luis de Bethencourt
b870ff15b5 gaudieffects: Adds new plugin 'gaudieffects'
Adds the new 'gaudieffects' plugin, originally found
here: http://github.com/luisbg/gaudi_effects

Contains the following video effect elements: burn, chromium, dilate,
dodge, exclusion and solarize.

Thanks to Jan Schmidt for the reviewing and refactoring
2010-07-20 20:07:56 -03:00
Sebastian Dröge
7d4fcdc5cf frei0r: Use correct order of directories to search for plugins
And don't fail if a plugin was already registered. Frei0r allows
plugins in directories with higher importance to override plugins
from directories with lower importance.
2010-07-11 10:47:37 +02:00
David Hoyt
3172e11121 aifmmux: use alternative way to check for inf
MSVC emits a divide-by-zero error when compiling aiffmux.c on line 205.
Fixes #623881.
2010-07-09 17:44:56 +03:00
Víctor Manuel Jáquez Leal
1d57953496 jpegparse: fix exif frame size
Skip the correct number of bytes when reading exif
data

Fixes #623854
2010-07-08 14:27:45 -03:00
Thiago Santos
44e3d29ec4 camerabin: Fix viewfiner-sink property for bins
Correctly iterate viewfinder-sink children when
it is a bin.

Fixes #623802
2010-07-07 23:21:52 -03:00
Arun Raghavan
c28613d8db qtmux: Write 'btrt' atom for H.264 media if possible
This writes out the optional 'btrt' atom (MPEG4BitrateBox) for H.264
media if either or both of average and maximum bitrate are available for
the stream.

https://bugzilla.gnome.org/show_bug.cgi?id=623678
2010-07-07 23:21:51 -03:00
Arun Raghavan
827e401e3a qtmux: Write avg/max bitrate to ESDS if available
This collects the 'bitrate' and 'maximum-bitrate' tags on the
corresponding pad and uses these to populate these fields in the ESDS
where applicable.

https://bugzilla.gnome.org/show_bug.cgi?id=623678
2010-07-07 23:21:51 -03:00
Tim-Philipp Müller
8e2af9017e asfmux: only use g_warning() when setting the old is-live property, not when reading it
Don't want warnings in e.g. gst-inspect.
2010-07-06 13:15:27 +01:00
Mark Nauwelaerts
3a1d0b7a0f jpegparse: fix skipping extra 0xff markers
In particular, this makes the jpegparse unit test pass again.
Also add a debug statement.

Fixes #622690.
2010-07-05 11:54:25 +02:00
Edward Hervey
e5ce188b1d qtmux: Don't use bogus codec/format tags
https://bugzilla.gnome.org/show_bug.cgi?id=623365
2010-07-02 12:46:08 +02:00
Olivier Crête
d46275c37f rtpmux: Add support for GstBufferList
Factor out most of the buffer handling and implement a chain_list
function. Also, the DTMF muxer has been modified to just have a
function to accept or reject a buffer instead of having to subclass
both chain and chain_list.
2010-07-02 00:15:49 -04:00
Olivier Crête
5d21b0815a rtpmux: Don't leak invalid buffers 2010-07-02 00:15:49 -04:00
Olivier Crête
7950499805 videomaxrate: Add to docs 2010-07-02 00:06:44 -04:00
Olivier Crête
68aaa637b8 videomaxrate: Add fixates_caps 2010-07-02 00:06:44 -04:00
Olivier Crête
f027b95400 videomaxrate: Accept wider caps 2010-07-02 00:06:44 -04:00
Olivier Crête
b9601e2096 videomaxrate: Make period over which to average configurable 2010-07-02 00:06:44 -04:00
Olivier Crête
3449d16566 videomaxrate: Simplify transform_caps 2010-07-02 00:06:44 -04:00
Olivier Crête
ed74d385bc videomaxrate: Use basetransform correctly 2010-07-02 00:06:44 -04:00
Olivier Crête
6aa71af0ec videomaxrate: Make plugin actually work by using an average 2010-07-02 00:06:44 -04:00
Olivier Crête
599027fe24 videomaxrate: Import plugin
Import plugin from PsiMedia, based on my work
2010-07-02 00:06:44 -04:00
Thiago Santos
c470918903 fpsdisplaysink: signal-fps-measurements is writable
signal-fps-measurements is a readwrite property, not read-only.

Also adds some more debugging logs.
2010-07-01 17:13:25 -03:00
Sebastian Pölsterl
61a8856133 mpegtsparse: don't free PAT structure which may still be needed later
This is a problem if you tune to a channel which uses pid X and later tune to
another channel where X is used for another table (e.g. PMT).

The code that does that was actually already there but never used because the
pat structure was freed before. The commit that introduced those lines intended
to fix a memory leak, but we clean things up elsewhere.

Fixes #622725.
2010-06-30 18:27:16 +01:00
Sebastian Dröge
5e8a24274f legacyresample: Include _stdint.h for int16_t and friends 2010-06-27 19:22:39 +02:00
Tim-Philipp Müller
144d43bcef assrender, ivfparse, jpegformat: fix compiler warnings with debugging disabled in core 2010-06-27 11:25:20 +01:00
Thiago Santos
be3a4b7978 qtmux: Write uint tags that don't have a complement
Write uint tags that have complements (e.g. track-number/
track-count) even when we only have one of them available
and set the other one to 0.

Fixes #622484
2010-06-25 20:19:20 -03:00
Thiago Santos
a267d287f5 asfmux: Warn if preroll value is too big
Post a warning when the preroll value is greater than
the streams duration
2010-06-24 20:22:16 -03:00
Thiago Santos
423418a51b asfmux: Make metadata writable before setting it
Before copying metadata from one buffer to another, make sure
the destination is metadata-writable.
2010-06-24 18:33:39 -03:00
Thiago Santos
57b9ce71b4 fpsdisplaysink: Adds a signal to inform measurements to apps
Adds a signal for applications to receive the fps measurements made
instead of only printing them to the frame/stdout.

This signal is only emited if the signal-fps-measurements property
is set to TRUE
2010-06-24 13:53:08 -03:00
Thiago Santos
f78bf26951 fpsdisplaysink: Adds max-fps and min-fps property
Adds 2 properties for getting the maximum and minimum fps
values measured
2010-06-24 13:34:14 -03:00
Thiago Santos
dfec8f7fae fpsdisplaysink: Use G_PARAM_STATIC_STRINGS in all properties
Add G_PARAM_STATIC_STRINGS to the properties that are
missing it
2010-06-24 13:34:14 -03:00
Thiago Santos
dc8f1dbb3e fpsdisplaysink: Add fps-update-interval property
Use a property to set/get the fps update interval instead
of having a hardcoded value.
2010-06-24 13:34:13 -03:00
Mark Nauwelaerts
21a6347b39 h264parse: obtain correct upstream timestamp
... for optional downstream use.
2010-06-23 10:39:53 +02:00
Mark Nauwelaerts
4c7fd3c247 h264parse: add new h264 caps attribute alignment
See #606662.
2010-06-22 12:39:59 +02:00
Edward Hervey
02cc3313b4 qtmux: Remove the pad from our internal list before calling collectpads
Previously we would end up with the collectpaddata structure already freed.
This would result in a bogus iteration of mux->sinkpads (all the
GstQTPad being freed) and it wouldn't be removed from that list.

Finally, due to it not being removed from that list, we would end up
calling a bogus gst_qt_mux_pad_reset on those structures => SEGFAULT
2010-06-21 19:42:50 +02:00
Thiago Santos
478ef90cf9 camerabin: Move debug category declaration to a separate file
Having GST_DEBUG_CATEGORY and GST_DEBUG_CATEGORY_EXTERN together
might lead to 'undefined symbol' problems. This commit moves
the _EXTERN to a separate new file.
2010-06-21 10:25:15 -03:00
Thijs Vermeir
1244738bc1 Revert "h264parse: add parsed field to src caps"
This reverts commit 54edae4f1f.

See this bug for more information:
https://bugzilla.gnome.org/show_bug.cgi?id=606662
2010-06-21 11:13:20 +02:00
Austin Lund
2ed73a6ad0 mpegvideoparse: Remove redundant log message 2010-06-20 23:34:56 +10:00
Thijs Vermeir
54edae4f1f h264parse: add parsed field to src caps 2010-06-20 10:59:56 +02:00
Thiago Santos
34836d6ea4 id3tag: Use gst_tag_list_peek_string_index
Replace _get_string_index with _peek_string_index to avoid
a string copy
2010-06-18 14:49:24 -03:00
Mark Nauwelaerts
33e78b12b4 h264parse: also handle 3-byte bytestream sync code 2010-06-18 18:42:47 +02:00
Thijs Vermeir
ba39867606 mpegdemux: improve debug output 2010-06-17 10:52:31 +02:00
Benjamin Otte
147e0682b4 pnmdec: Don't crash if no valid input was parsed yet
https://bugzilla.redhat.com/show_bug.cgi?id=603771
2010-06-16 10:31:19 +02:00
Austin Lund
0fba38f833 mpegvideoparse: Added debugging output for mpegpacketiser 2010-06-16 10:39:04 +10:00
Mark Nauwelaerts
112df6cc0e baseparse: fix seek event ref handling 2010-06-15 15:42:26 +02:00
Mark Nauwelaerts
484af544bf baseparse: prevent arithmetic overflows in pull mode buffer cache handling 2010-06-15 15:42:26 +02:00
Mark Nauwelaerts
07561dbfd1 baseparse: fix seek handling
Allow a few more seek event type combinations, and really use the result
of gst_segment_set_seek to perform the seek.  Also add some debug.
2010-06-15 15:42:26 +02:00
Mark Nauwelaerts
a60af008d5 mpeg4videoparse: sprinkle some branch prediction 2010-06-15 11:30:45 +02:00
Mark Nauwelaerts
cd018e5440 mpeg4videoparse: handle FLUSH_STOP event 2010-06-15 11:30:41 +02:00
Mark Nauwelaerts
c2b649d692 mpeg4videoparse: add config-interval parameter to re-insert config in stream
Add a new config-interval property to instruct the parser to insert
config (VOSH, VOS, etc) at periodic intervals in the stream
(when a GOP or VOP-I is encountered).

Based on patch by <marc.leeman at gmail.com>

Fixes #621205.
2010-06-15 11:30:39 +02:00
Jan Schmidt
2f9b765326 mpegvideoparse: Apply previous timestamp when there isn't any newer.
If the current incoming packet didn't carry a timestamp, but a
previous packet had one we didn't yet use, then apply that timestamp
to the next picture.
Fixes: #618336
2010-06-15 17:16:12 +10:00
Mark Nauwelaerts
7601bc306a jpegparse: handle FLUSH_STOP sink event 2010-06-14 15:48:34 +02:00
Mark Nauwelaerts
e6cf05b114 jpegparse: optimize image parsing
Use adapter API for scanning and peeking to reduce buffer copying.

See #583047.
2010-06-14 15:48:34 +02:00
Sebastian Dröge
b1a12c3a2d mpegtsdemux: Don't use liboil functions
glibc memcpy() will be faster than liboil's/orc's for now anyway
and we can use orc's later, after orc has support for loop unrolling.
2010-06-14 14:48:02 +02:00
Sebastian Dröge
3a2f40e160 legacyresample: Don't include liboil headers, they're not used anyway 2010-06-14 14:47:47 +02:00
Mark Nauwelaerts
d6cab72552 h264parse: add option to insert SPS/PPS in stream
Add a new config-interval property to insert SPS and PPS at periodic intervals
in the stream (when an IDR is encountered).

Based on patch by <marc.leeman at gmail.com>

Fixes #620978.
2010-06-14 12:49:40 +02:00
Mark Nauwelaerts
3a1fad6099 h264parse: also collect SPS and PPS nalu in codec_data 2010-06-14 11:59:55 +02:00
Thiago Santos
00897e21a9 jpegformat: Add exif support
Adds exif writing support to jifmux.
Adds parsing support to jpegparse.

Fixes #614872
2010-06-09 17:29:32 -03:00
Thiago Santos
bc8f4adaa6 asfmux: Deprecate 'is-live' and add 'streamable' property
Following the similar change in flvmux, this commit adds
'streamable' property and deprecated 'is-live' for a better/less wrong
name.
2010-06-08 19:37:43 -03:00
Andoni Morales Alastruey
40209aa30f asfmux: don't set the 'seekable' flag if we are streaming
Fixes #618522
2010-06-08 14:50:35 -03:00
Andoni Morales Alastruey
2a94798136 asfmux: write preroll info in the header at initialization
This value doesn't need to be updated and is usefull in a streaming context

Fixes #618522
2010-06-08 14:50:22 -03:00
Andoni Morales Alastruey
0039494227 asfmux: put headers in streamheader for streaming
Fixes #618522
2010-06-08 14:49:30 -03:00
Marc-André Lureau
43f8e926e7 mpegtsmux: start pmt at 0x020 as suggested by Zaheer 2010-06-08 15:36:47 +02:00
Marc-André Lureau
d335a55b49 mpegtsmux: take all the pmt in the streamheaders 2010-06-08 15:36:29 +02:00
Thiago Santos
233b09f9b9 camerabin: Do not assert on set_property to NULL for elements
Check if the value is NULL before reffing them in set_property
for 'GstElement' properties
2010-06-08 09:14:01 -03:00
Thiago Santos
7806ba95b6 camerabin: Do not assert on null caps property
If camerabin receives a null caps as 'filter-caps' argument,
use the default value
2010-06-08 08:41:49 -03:00
Thiago Santos
4fa3e217e2 geometrictransform: Use _CAST macro
Replace default type casting macro with the faster direct _CAST macro
2010-06-07 22:56:17 -03:00
Thiago Santos
1c33b79c0c geometrictransform: Make properties controllable
Makes the element's properties controllable and threadsafe.

Fixes #620825
2010-06-07 22:55:24 -03:00
Olivier Crête
dd13e85ca1 dtmfdetect: Only works with rate=8000, fix in caps 2010-06-07 11:15:26 -04:00
Thiago Santos
72590ad056 camerabin: Fix crash in 'filename' property
Do not crash when filename property is set to NULL, use an
empty string instead.
2010-06-07 07:58:22 -03:00
Thiago Santos
017808ef8d marble: Adds 'marble' element to geometrictransform
Adds a new element that does a marbling effect to
geometrictransform plugin
2010-06-06 22:38:34 -03:00
Thiago Santos
a45a1d70dd geometrictransform: Use explicit formats from gstvideo
Use explicit format macros from gstvideo to avoid exposing
unsupported formats on template pads. Using the macros
also give us complete caps (width/height/framerate).

And add support for AYUV.

Fixes #620717
2010-06-06 14:35:44 -03:00
Thiago Santos
9f6cbc889b diffuse: Adds diffuse element to geometrictransform
Adds the 'diffuse' element to geometrictransform. It moves
the pixels of the image in random directions
2010-06-06 13:00:45 -03:00
Thiago Santos
e7d417f4fc geometrictransform: Make map precalculation optional
Adds a variable to be set to allow subclasses to enable
or disable precalculation of the pixels mapping
2010-06-06 13:00:44 -03:00
Sebastian Dröge
547f037ea4 rtmp: Move to ext and drop internal librtmp copy
We really don't want this in gst-plugins-bad because of
legal complexities around RTMP and possible problems
for distributions.

Add README that explains how to build librtmp to be suitable
for linking to the GStreamer plugin.
2010-06-05 18:02:39 +02:00
Bastien Nocera
b87668e143 rtmp: Add RTMP source plugin
https://bugzilla.gnome.org/show_bug.cgi?id=566604
2010-06-05 18:02:39 +02:00
Thiago Santos
581b63c678 geometrictransform: Set output buffer data to 0
Initialize output buffer data to 0 before doing the
transform.
2010-06-05 11:04:45 -03:00
Thiago Santos
964c71b7c6 geometrictransform: Descriptions and default values
Improve some properties and element descriptions and changes
some default properties values.
2010-06-05 10:58:00 -03:00
Thiago Santos
44d33ee1c8 geometrictransform: Remove trailing whitespace
Remove trailing whitespace from geometrictransform files
2010-06-04 15:53:20 -03:00
Thiago Santos
213277cc02 waterripple: Adds new waterripple element to geometrictransofmr
Adds an water ripple distortion element to geometrictransform
2010-06-04 15:31:22 -03:00
Thiago Santos
ed7461b589 sphere: Adds new 'sphere' element to geometrictransform
Adds a new element to do 'sphere' effect into geometrictransform
plugin
2010-06-04 15:31:22 -03:00
Thiago Santos
a00614064b geometrictransform: adds some properties to base class
Adds a property to select what to do with pixels that are mapped out of
edges: ignore, clamp or wrap.
2010-06-04 15:31:22 -03:00
Thiago Santos
179e234361 circle: Adds circle element to geometrictransform plugin
Adds the new 'circle' element to geometrictransform plugin
2010-06-04 15:31:21 -03:00
Thiago Santos
8eab2c8a30 kaleidoscope: Adds new element 'kaleidoscope'
Adds new kaleidoscope element to geometrictransform plugin
2010-06-04 15:31:21 -03:00
Thiago Santos
53d40802d2 gsttwirl: Adds new element twirl
Adds a new element to geometrictransform plugin: twirl
2010-06-04 15:31:21 -03:00
Thiago Santos
2f9a630a62 geometrictransform: Adds a intermediary baseclass circlegeometrictransform
Adds an intermediary baseclass named gstcirclegeometrictransform
to keep common properties code for filters that operate on
a circular area.
2010-06-04 15:31:20 -03:00
Thiago Santos
dcda4b606c pinch: Some optimization using the prepare func
Small optimization by precalculating the center of the effect,
also use newly added _CAST macro.
2010-06-04 15:31:20 -03:00
Thiago Santos
8c5360a559 geometrictransform: Adds prepare function and cleanup
Adds a prepare function to make subclasses precalculate values
that will be used throughout the mapping functions.

Also adds a missing cleanup to fix a memleak
2010-06-04 15:31:19 -03:00
Thiago Santos
6560248be9 geometrictransform: Precalculate mapping array
Precalculate when setting caps the warping map to avoid
recalculating it every buffer
2010-06-04 15:31:19 -03:00
Thiago Santos
1250a7406d geometrictransform: Accept any rgb or gray
Using gstvideo functions geometrictransform can handle
rgb or gray, put that on template caps
2010-06-04 15:31:19 -03:00
Thiago Santos
525aae23dc geometrictransform: Rename some variables for clarity
Renames some variables and adds a minimum doc to the
mapping function for a little clarity.

Also uses gstvideo functions for the row and pixel strides
instead of hardcoded values
2010-06-04 15:31:18 -03:00
Thiago Santos
b7660b122c geometrictransform: New plugin for geometric transforms
Adds a new plugin that has elements that perform geometric
transformations to images. By geometric transformations I mean
that the operations are functions that given the output pixel
position, get the pixel position in the input image. This pixel
is then copied from input to output.

The gstgeometrictransform baseclass makes it easy to write
such elements. It boils down to write the mapping function
and exposing properties

Already added the first of the elements, 'pinch'. It's a common
effect in image editors, like gimp (distort -> pinch)
2010-06-04 15:31:18 -03:00
David Schleef
90a2cd5cc5 bayer2rgb: handle other bayer formats 2010-06-03 23:57:46 -07:00
David Schleef
2db6d968d8 rgb2bayer: handle multiple bayer formats 2010-06-03 23:57:46 -07:00
David Schleef
5c1eb82b8a bayer: Add rgb2bayer element
Mostly for testing/completeness.
2010-06-03 23:57:45 -07:00
Olivier Crête
21686e3077 shm: Move to sys/ since it doesn't exist on windows 2010-06-03 15:27:43 -04:00
Olivier Crête
536e79befd shmsrc: Fix indentation 2010-06-03 15:27:43 -04:00
Olivier Crête
f26d799676 shmsink: Print errors if fchmod fails 2010-06-03 15:27:43 -04:00
Olivier Crête
b9decbb056 shmpipe: Fix crash when sp_close_shm is called with self == NULL.
If sp_open_shm errors out trying to open a shm area, it would crash
when trying to free the area. The RETURN_ERROR macro calls
sp_shm_area_dec with self == NULL. sp_shm_area_dec calls
sp_shm_close, with self == NULL, which it then tries to access a
parameter of without checking. This patch checks to make sure
self != NULL before accessing that parameter.
2010-06-03 15:27:43 -04:00
Olivier Crête
e8b4310aa6 shmpipe: Update code standard 2010-06-03 15:27:43 -04:00
Olivier Crête
c60ef5e81f shmsrc: Add socket path to error message 2010-06-03 15:27:43 -04:00
Olivier Crête
f366356fdf shmpipe: Remove wrong test inversion 2010-06-03 15:27:42 -04:00
Olivier Crête
1d893f8157 shmpipe: Verify that accept succeeds 2010-06-03 15:27:42 -04:00
Olivier Crête
d2731d689d shmpipe: Fix one byte overflow 2010-06-03 15:27:42 -04:00
Olivier Crête
2c02d0c0e4 shmsrc: Improve debug prints 2010-06-03 15:27:42 -04:00
Olivier Crête
5c7a160de5 shmsink: Get potentially modified after opening shmpipe 2010-06-03 15:27:42 -04:00
Olivier Crête
7e8eae9f2a shm: Try alternate paths for the socket 2010-06-03 15:27:42 -04:00
Olivier Crête
73fa2f9b76 shmpipe: Don't pretend the path is random 2010-06-03 15:27:42 -04:00
Olivier Crête
7c2a445a72 shmpipe: Create shm area exclusively 2010-06-03 15:27:42 -04:00
Olivier Crête
807da2165a shmalloc: Make it build in non-glib world 2010-06-03 15:27:42 -04:00
Olivier Crête
c8eb511a9d shmsrc: Make the shmpipe life independant of the element states 2010-06-03 15:27:42 -04:00
Olivier Crête
8f8b50a88e shmpipe: Simplify handling of random paths 2010-06-03 15:27:42 -04:00
Olivier Crête
23414310a6 shmpipe: Remove useless attrib 2010-06-03 15:27:42 -04:00
Olivier Crête
007a26ac08 shmpipe: Ref client shmarea when a buffer is received in it 2010-06-03 15:27:42 -04:00
Olivier Crête
68c9ed6e5c shmpipe: Don't dec old shm area when new one is added
Its ref will be dropped when the "close" message arrives
2010-06-03 15:27:41 -04:00
Olivier Crête
4f4ba5981b shmsrc: Lock uses of shmpipe 2010-06-03 15:27:41 -04:00
Olivier Crête
92dccdd170 shmsrc: Add is-live property 2010-06-03 15:27:41 -04:00
Olivier Crête
43de02d25a shm: Print details on errors 2010-06-03 15:27:41 -04:00
Olivier Crête
f97d02375b shm: Make valgrind happy 2010-06-03 15:27:41 -04:00
Olivier Crête
663a8eac54 shmsink: Don't block on EOS in non-blocking mode 2010-06-03 15:27:41 -04:00
Olivier Crête
c5797b06ca shm: Block if required 2010-06-03 15:27:41 -04:00
Olivier Crête
67785f331a shmsink: Port to ShmPipe 2010-06-03 15:27:41 -04:00
Olivier Crête
b6bc52f961 shmsrc: Port to ShmPipe 2010-06-03 15:27:41 -04:00
Olivier Crête
7e90514747 shm: Add shmpipe implementation 2010-06-03 15:27:41 -04:00
Olivier Crête
e87cd0a29a shm: Add shm based sink and src
These two elements (shmsink and shmsrc) communicate buffers using POSIX
shared memory. They also communicate the caps. The source currently acts as
a live source and ignores the timestamps coming from the sink. It also does
not transfer the tags.
2010-06-03 15:27:41 -04:00
Arun Raghavan
e5a37377ae mpegtsdemux: Some checks to avoid asserts
gst_mpeg_descriptor_find() expects the description field to be non-NULL.
This fixes a couple of calls where the value being passed is not
verified to be non-NULL first.

https://bugzilla.gnome.org/show_bug.cgi?id=620456
2010-06-03 20:11:29 +02:00
Tim-Philipp Müller
ca5893e804 rtpmux: fix missing debug log message argument 2010-06-03 10:43:20 +01:00
David Schleef
76f136375c invtelecine: add an assert to placate gcc-4.5 2010-06-02 22:07:31 -07:00
Olivier Crête
63c509b13e rtpdtmfmux: Add some debug messages 2010-06-02 20:47:08 -04:00
Olivier Crête
2a39f410c1 rtpdtmfmux: Remove stream-lock event handling 2010-06-02 20:47:08 -04:00
Olivier Crête
e884e70f8e rtpdtmfmux: Update doc for simplification 2010-06-02 20:47:08 -04:00
Olivier Crête
0528e09974 dtmf: Remove rtpdtmfmux stream-lock code 2010-06-02 20:47:08 -04:00
Olivier Crête
136d4688c0 rtpdtmfmux: Drop buffers on non-priority sinks when something is incoming on the priority sink 2010-06-02 20:47:08 -04:00
Olivier Crête
3f3f72889a rtpdtmfmux: Add priority sink pads 2010-06-02 20:47:08 -04:00
Olivier Crête
60b4c4ef4b rtpdtmfmux: Cleanup event function 2010-06-02 20:47:07 -04:00
Olivier Crête
68df62aa55 rtpmux: Aggregate incoming segments 2010-06-02 20:47:07 -04:00
Olivier Crête
e967023810 rtpdtmfmux: Update documentation 2010-06-02 20:47:07 -04:00
Olivier Crête
1c03b56146 rtpmux: Simplify request pad creation 2010-06-02 20:47:07 -04:00
David Schleef
d13b2b8287 Merge branch 'hacking' 2010-06-02 11:31:26 -07:00
David Schleef
6ceb310dc6 invtelecine: Add verify-field-flags property
When enabled, check that the video matches the field flags on the
incoming buffers.
2010-06-02 11:30:44 -07:00
David Schleef
88f4a6a0ed invtelecine: remove old code 2010-06-02 11:30:32 -07:00
David Schleef
c439a6bc36 invtelecine: Add 4:2:2 formats 2010-06-02 11:29:57 -07:00
David Schleef
750cdc912b invtelecine: Change format table
Add format name, phase table.
2010-06-02 11:29:05 -07:00
David Schleef
b213b03804 invtelecine: Add multiple pulldown formats 2010-06-02 11:26:41 -07:00
David Schleef
00174c8fa8 invtelecine: handle different frame sizes 2010-06-02 11:26:41 -07:00
Руслан Ижбулатов
a7fe2c391c ivfparse: Fix format string warning
Fixes #620324
2010-06-02 10:06:26 +02:00
Sebastian Dröge
1a95b29115 ivfparse: Send an initial NEWSEGMENT event 2010-06-01 11:19:46 +02:00
Sebastian Dröge
820c8f9ed1 ivfparse: Integrate into the build system 2010-06-01 11:19:46 +02:00
Sebastian Dröge
d1e3217be8 ivfparse: Add simple IVF parser
This only supports VP8 so far.
Fixes bug #619158.
2010-06-01 11:19:45 +02:00
Tim-Philipp Müller
cbd74ceff4 mpegvideoparse: change profile and level strings to something nicer-looking
This is more in line with what we do elsewhere, even if it doesn't
resemble the offical abbreviations exactly.

See #616078.
2010-05-28 12:50:01 +01:00
Mark Nauwelaerts
413716d1d9 h264parse: plug a few memory leaks
Fixes #619617.
2010-05-28 12:36:23 +01:00
Zaheer Abbas Merali
721643431e mpegvideoparse: fix crash if downstream is unliked
mpeg_packetizer_get_block() in some circumstances (here: if
downstream was unlinked) returns a block but does not set the
buffer causing mpegvideoparse_drain_avail() to cause invalid memory
access.

Fixes #619502.
2010-05-25 00:29:58 +01:00
Thiago Santos
c6e77c3d03 Removing remaining gstapp*
There are some remaining gstapp* living unlinked from the build scripts.
Remove them.
2010-05-24 20:03:21 -03:00
Sebastian Pölsterl
58b926b978 mpegtspacketizer: fix minor memory leak
Don't leak language code.

Fixes #619444.
2010-05-23 19:20:31 +01:00
David Schleef
c3d4977761 Split out GST_PLUGINS_BAD_CFLAGS from GST_CFLAGS
Move include directives for gst-libs into GST_PLUGINS_BAD_CFLAGS,
and fix all the Makefiles that use it.  This is so that all the
include directories are added in the proper order: first the
directories in srcdir/builddir, then gst-plugins-base dirs, then
gstreamer dirs.  If the order is wrong, installed headers may be
used instead of local headers and/or uninstalled headers from -base.
2010-05-19 18:24:02 -07:00
David Schleef
d1cfc50507 qtmux: Add VP8 2010-05-19 19:24:04 +02:00
Alessandro Decina
2441c79afa h264parse: fix wrong timestamps in some cases after seeking.
Reset ->last_outbuf_dts on flush-stop. Fixes #619064.
2010-05-19 11:18:28 +02:00
Zaheer Abbas Merali
5208d030b3 mpegtsdemux: fix memory corruption when parsing adaptation field 2010-05-17 16:26:03 +01:00
Sebastian Dröge
f09a8893c1 festival: Only close the connection if it's opened 2010-05-13 14:43:28 +02:00
Ivan Zderadicka
41bba48ccb festival: Don't open an infinite number of connections to the server and close connections
Fixes bug #618527.
2010-05-13 14:43:28 +02:00
Joshua M. Doe
59fddc9237 frei0r: Fix setting of boolean values
Setting boolean type parameters from gst-launch failed because of improper handling of type conversions.

Fixes bug #618388.
2010-05-12 18:18:46 +02:00
Zaheer Abbas Merali
d2bd939899 mpegtsparse: parse TDT table in mpegts.
Some tables in MPEG-TS do not have a crc in the spec, so also mpegtsparse
is not calculating crc for sections with table_id 0x70 - 0x72 because they
do not have a CRC in the spec. See EN300468. Parse Time and Date table and
output bus message.
2010-05-12 13:00:16 +02:00
Tim-Philipp Müller
bb93d06ca0 Remove imagefreeze plugin/element.
It has been moved to gst-plugins-good.

See #613786.
2010-05-11 14:02:33 +01:00
Tim-Philipp Müller
ee063478ff Remove capssetter element
It has been moved to gst-plugins-good.

See #617739.
2010-05-11 13:08:41 +01:00
Stefan Kost
418a791868 jpegformat: make the intention of the elements more clear 2010-05-07 22:53:17 +03:00
Thiago Santos
20a8666388 Revert "jifmux: Merge xmp and tagsetter tags."
This reverts commit 4e5c412234.

jifmux shouldn't be able to handle jif and shouldn't expect
any xmp on its data. So, no need to handle them.
2010-05-07 14:00:03 -03:00
Thiago Santos
4e5c412234 jifmux: Merge xmp and tagsetter tags.
When the current file already has tags, they shouldn't be ignored,
parse them and merge with the tagsetter ones.
2010-05-07 12:42:23 -03:00
Thiago Santos
a9e4c64efa jifmux: Reject buffers without caps
jifmux expects whole jpeg pictures in buffers, so it should
reject buffers without caps.
2010-05-07 11:07:34 -03:00
Thiago Santos
72fdd708cf jifmux: Be safe and check bytewriter returns
Check GstByteWriter returns to know when recombining the image
failed and log a warning.
2010-05-07 10:59:22 -03:00
Thiago Santos
0d637e4f09 jifmux: Avoid adding 2 xmp packets
jifmux was only appending a new xmp packet to the stream,
it should replace if there is already one.
2010-05-07 10:13:54 -03:00
Sebastian Dröge
860d5e7efe capssetter: Some minor cleanup 2010-05-06 13:12:32 +02:00
Sebastian Dröge
1f6688b1a1 imagefreeze: Set fixed caps on the correct pad
This makes the sink getcaps function actually used instead of using
the fixed caps function for it.
2010-05-05 12:25:08 +02:00
Mark Nauwelaerts
d68a4c1dcc jpegparse: improve buffer scanning
Specifically, when scanning for entropy data segment length and needing
more data, do not rescan from start next time around, but resume at
last position.

See also #583047.
2010-04-30 19:53:57 +02:00
Руслан Ижбулатов
5f25780b02 Fix printf format strings for gcc 4.5
Done on Windows/MinGW.

Fixes #617146
2010-04-29 10:17:56 +02:00
Lasse Laukkanen
30ff3bc098 camerabin: add meaningful names for queue elements inside camerabin 2010-04-21 12:25:39 +03:00
Mark Nauwelaerts
00148e3736 mpeg4videoparse: also set short configuration data in codec_data
That is, header configuration may start at Video Object (startcode),
rather than at Visual Object Sequence, which is catered for and parsed,
so let's also take it as codec_data if no more available.

Fixes (remainder of) #572551.
2010-04-20 15:39:07 +02:00
Thiago Santos
c4aaab2d59 camerabin: Avoid crashing when setting zoom in NULL
Avoid setting zoom in NULL state because the source is not
set yet and this leads to a crash. It is set on READY > PAUSED
anyway.
2010-04-19 19:06:39 -03:00
Arun Raghavan
bf586d7966 mpegvideoparse: Export profile and level in caps
This exports profile and level in caps for MPEG 2 streams.

https://bugzilla.gnome.org/show_bug.cgi?id=616078
2010-04-18 12:50:26 +02:00
Sebastian Dröge
5a51dbd093 mpegdemux: Use GST_FLOW_CUSTOM_SUCCESS instead of some integer
Fixes compiler warning with gcc 4.5.
2010-04-16 19:43:59 +02:00
Sebastian Dröge
2908515bd4 Revert "mpegpsdemux: Workaround new gcc 4.5 compiler warning"
This reverts commit a331228ecc.
2010-04-16 19:42:00 +02:00
Sebastian Dröge
a331228ecc mpegpsdemux: Workaround new gcc 4.5 compiler warning
gcc 4.5 warns when comparing some integer with an enum value, in
the case of GstFlowReturn this is valid though. We should later
add GST_FLOW_CUSTOM_OK1, GST_FLOW_CUSTOM_OK2, etc. after new core
is released.
2010-04-15 21:26:45 +02:00
Sebastian Dröge
1f102af33d cdxaparse: Compare the correct variable to GST_SEEK_TYPE_SET 2010-04-15 20:50:58 +02:00
Adam Endrodi
822fd6a9ff camerabin: reset software zooming if not set by the photo interface
Otherwise both software (videoscal+videocrop) and hardware zooming would be used.
2010-04-15 13:22:16 +03:00
David Schleef
a27500b712 invtelecine: Fix up element details 2010-04-14 16:43:23 -07:00
Thiago Santos
c48de5c594 camerabin: Add video-capture-width/height/framerate properties
Adds video-capture-width, video-capture-height and
video-capture-framerate properties to allow applications to
get/set those values. Getting was not possible before this patch,
and setting was done through the set-video-resolution-fps
action, which sets the properties and promptly resets the
video source to use them.

Fixes #614958
2010-04-13 20:37:03 -03:00
Thiago Santos
fa6adc85b4 camerabin: Adds image-capture-width/height properties
Adds image-capture-width and image-capture-height properties
to camerabin, allowing the user to get/set them. Getting was
not possible before and setting was done through the
set-image-resolution action, which shouldn't now just set
the properties.

Fixes #614958
2010-04-13 20:36:44 -03:00
Thiago Santos
a72774c5f8 camerabin: photography: Spring G_PARAM_STATIC_STRINGS
Sprinkle some G_PARAM_STATIC_STRINGS over the properties
in GstPhotography interface and in camerabin
2010-04-13 15:59:04 -03:00
Lasse Laukkanen
55d98ef488 camerabin: add block-after-capture property for viewfinder blocking
Adds block-after-capture property to block running viewfinder after capturing.
This property is useful if application wants to display capture preview and avoid
running viewfinder on background.

Based on a patch by Tommi Myöhänen <ext-tommi.1.myohanen@nokia.com>
2010-04-13 12:00:36 -03:00
Tommi Myöhänen
6206f58c3a GstPhotography: Add flicker and focus mode settings to photography API
Adds flicker and focus mode settings to photography API and also
implement it in camerabin.
2010-04-13 12:00:35 -03:00
Teemu Katajisto
ae57a90fe2 camerabin: do not set imagebin sinkpad twice
If we already have a sinkpad, do not get a new one
2010-04-13 12:00:34 -03:00
Lasse Laukkanen
16cff06a70 camerabin: add viewfinder-filter property
Adds a new property called viewfinder-filter to camerabin.
This property is used to add a filter to process the video
flow right before the viewfinder sink.

Also updates test to check property exists.
2010-04-13 12:00:33 -03:00
Lasse Laukkanen
2c4417dabc camerabin: proxy video source photography interface property notify signals
If photography interface properties change in video source, notify the
application by emitting notify for respective camerabin properties.
2010-04-13 12:00:32 -03:00
Lasse Laukkanen
2c05df08b2 camerabin: add api to query supported image capture resolution
Adds new property 'image-capture-supported-caps' to GstPhotography
to query the supported image capture caps.
Also implement it in camerabin.
2010-04-13 12:00:31 -03:00
René Stadler
e2438e6cf1 camerabin: rename function and variable names, update documentation
Get rid of user_* prefix internally, use app_* instead.
2010-04-13 12:00:31 -03:00
Lasse Laukkanen
d25a9ca8aa camerabin: add video-source-filter property
Add video-source-filter property that can be used to inject application
specific gstreamer element to camerabin pipeline. The video-source-filter
element will process all frames coming from video source.

One could add image analyzers to collect information about the stream,
or add image enhancers to improve capture quality, for example.
2010-04-13 12:00:30 -03:00
Lasse Laukkanen
1c74f22264 camerabin: don't try adapting image capture resolution if no source-resize flag
If source-resize flag is disabled then set resolution to image capture caps
according to capture resolution video source element produces. Otherwise we
write wrong resolution to image metadata.
2010-04-12 16:10:49 +03:00
Lasse Laukkanen
d7a0f1f997 camerabin: Fix capturing flag handling after image has been captured
Make sure capturing flag is unset and image-captured message is sent
before sending eos event to image bin and saving the image to a file.
2010-04-12 16:07:36 +03:00
Lasse Laukkanen
c6f6f1b595 camerabin: fix setting filter-caps property in NULL state
Split _set_capsfilter_caps() into two parts so that we can call one part
regardless of the element state.
2010-04-12 16:06:07 +03:00
Lasse Laukkanen
1b10553f90 camerabin: improve image done signal emission
Use g_idle_add_full() with G_PRIORITY_HIGH to emit image done signal,
g_idle_add() is more likely to starve with higher priority events.
2010-04-12 15:15:22 +03:00
Tim-Philipp Müller
a81a158f17 invtelecine: fix print format in debug message 2010-04-08 01:42:23 +01:00
Arun Raghavan
90753ceb5e baseparse: Don't emit bitrate tags too early
We wait to parse a minimum number of frames (10, arbitrarily) before
emiting bitrate tags so that our early estimates are not wildly
inaccurate for streams that start with a silence. If the stream ends
before that, we just emit the tags anyway.

While it _would_ be nicer to be specify the threshold to start pushing
the tags in terms of duration, this would introduce more complexity than
this merits.

https://bugzilla.gnome.org/show_bug.cgi?id=614991
2010-04-07 11:51:46 +02:00
Sebastian Dröge
1306160b79 mpegtsdemux: Add support for BlueRay style DTS
Fixes bug #614259.
2010-04-05 10:33:26 +02:00
Sebastian Dröge
074d20cf99 mpegtsdemux: Add support for the two DTS HD stream types
Fixes bug #614259.
2010-04-04 20:23:00 +02:00
Sebastian Pölsterl
d7ab75abb8 mpegtspacketizer: Additionally use the CRC to check if tables are duplicates
The current code just uses table id, subtable extension and version number to
check if the section has been seen before. However, this comparison is not
sufficient, causing actually new tables being dismissed.

Fixes bug #614479.
2010-04-02 19:52:25 +02:00
Sebastian Dröge
c55b24b43d h264parse: Correctly clean up internal state for reuse
Fixes bug #614591.
2010-04-02 19:48:56 +02:00
Sebastian Dröge
129042b65c mpegtsparse: Make sure that the buffer metadata is writable before setting caps
Fixes bug #614349.
2010-04-02 19:19:23 +02:00
Tim-Philipp Müller
840e1c5209 build: build plugins and examples in parallel where possible, if make -jN is used 2010-03-30 01:17:15 +01:00
Tim-Philipp Müller
4162f0d58e qtmux: use GStreamer package name and origin in the plugin info 2010-03-30 00:46:51 +01:00
Mark Nauwelaerts
7d2e248155 h264parse: fix writing NALU prefix for byte-stream output format
Specifically, input may already be in byte-stream format, so sync
bytes should not be misinterpreted as NALU size.
2010-03-29 14:49:06 +02:00
Sebastian Dröge
09223cc719 flacparse: Optionally check the overall frame checksums too before accepting a frame as valid
This is optional because it's a quite expensive operation and it's very
unlikely that a non-frame is detected as frame after the header CRC check
and checking all bits for valid values. The overall frame checksums are
mainly useful to detect inconsistencies in the encoded payload.
2010-03-26 18:58:35 +01:00
Sebastian Dröge
9fa738d36b flacparse: Check the CRC-8 of the headers before accepting a frame as valid
This makes false-positives during seeking much less likely and detection of
them much faster.
2010-03-26 18:42:28 +01:00
Sebastian Dröge
6663e7c1ca baseparse: Set the last stop to the buffer starttime if the duration is invalid
...instead of not setting it at all.
2010-03-26 18:20:24 +01:00
Joshua M. Doe
af00e59528 baseparse: Send NEWSEGMENT event with correct start and position
Instead of taking the last stop (which could be buffer endtime instead
of starttime) always take the buffer starttime.

Fixes bug #614016.
2010-03-26 18:19:00 +01:00
Arun Raghavan
cc6c4ef00b flacparse: Fix buffer refcount issue
When called from the GST_FLAC_PARSE_STATE_HEADERS case,
gst_flac_parse_hand_headers() does a gst_buffer_set_caps() on a buffer
with refcount > 1. This change handles this case by making the buffer
metadata_Writable.

https://bugzilla.gnome.org/show_bug.cgi?id=614037
2010-03-26 18:14:22 +01:00
Tim-Philipp Müller
eb34b2015b mpegtsdemux: add missing space to debug message 2010-03-26 12:04:48 +00:00
Stefan Kost
16f532b71a dtmfdetect: if we tell that we handle gap flags, then do so 2010-03-25 23:01:42 +02:00
Stefan Kost
88b223d36b dtmfdetect: use glib types 2010-03-25 23:01:05 +02:00
Stefan Kost
de4a6adf80 dtmfdetect: fix classification 2010-03-25 23:01:05 +02:00
Stefan Kost
4f526f8aef dtmfdetect: reformat message docs
Use a list like in other element docs as an untweaked docbook table look ugly.
2010-03-25 23:00:00 +02:00
Tim-Philipp Müller
d6f3ee4b90 audioparsers: remove unused GstBaseParseClassPrivate structure 2010-03-25 17:13:51 +00:00
Arun Raghavan
76f5d96e06 flacparse: Make bitrate estimation more accurate
This implements the get_frame_overhead() vfunc so that baseparse can
make more accurate bitrate estimates.
2010-03-25 16:57:55 +01:00
Arun Raghavan
599401a7f9 aacparse: Fix bitrate calculation
This patch adds the get_frame_overhead() vfunc so that baseparse can
accurately calculate the min/avg/max bitrates for aacparse.

Note: The bitrate was being incorrectly calculated for ADTS streams
(it's not in the header as the code suggests).
2010-03-25 16:57:48 +01:00
Arun Raghavan
88c1e42567 audioparsers: Add bitrate calculation to baseparse
This makes baseparse keep a running average of the stream bitrate, as
well as the minimum and maximum bitrates. Subclasses can override a
vfunc to make sure that per-frame overhead from the container is not
accounted for in the bitrate calculation.

We take care not to override the bitrate, minimum-bitrate, and
maximum-bitrate tags if they have been posted upstream. We also
rate-limit the emission of bitrate so that it is only triggered by a
change of >10 kbps.
2010-03-25 16:57:36 +01:00
Tim-Philipp Müller
0c97f9a9be qtmux: init debug category before using it 2010-03-25 00:20:54 +00:00
Stefan Kost
4a87fee780 jpegformat: add blank line to fix generated xml 2010-03-24 16:25:43 +02:00
Tristan Matthews
552cd26b43 osx: more compiler warning fixes
Avoid new warnings.

Fixes #613758.
2010-03-24 00:19:02 +00:00
Benjamin Otte
a9a7b8e372 Fixes for -Waggregate-return
The flag wasn't added due to libexif using aggregate return values.
2010-03-23 01:16:25 +01:00
Stefan Kost
5ebf6444cb i18n: build fixes: #if -> #ifdef for ENABLE_NLS 2010-03-22 18:07:45 +02:00
Benjamin Otte
240f494aa7 Add -Wold-style-definition
and fix the warnings
2010-03-22 16:56:03 +01:00
Benjamin Otte
647cf64c01 Add -Wformat-nonliteral -Wformat-security flags
and fix the warnings
2010-03-22 16:22:22 +01:00
Arun Raghavan
8144fee47c mpegvideoparse: Parse bitrate and emit as tag
This patch picks up the bitrate for the stream from the MPEG sequence
header and emits it as a tag on the source pad.

Fixes #599298.
2010-03-22 12:44:54 +00:00
Benjamin Otte
33c2f5fb01 Add -Wwrite-strings
and fix its warnings
2010-03-22 13:16:33 +01:00
Benjamin Otte
010789159d Add -Wundef
and fix the warnings
2010-03-22 12:30:01 +01:00
Benjamin Otte
b7655bbd2e Add -Wredundant-decls flag
and fix warnings from it
2010-03-22 12:05:59 +01:00
Benjamin Otte
f96e4f1581 Add -Wmissing-declarations -Wmissing-prototypes to configure flags
And fix all warnings
2010-03-21 21:39:18 +01:00
Benjamin Otte
46f4c7a6c1 siren: Run gst-indent script
Includes running dos2unix on decoder.c
2010-03-21 21:37:37 +01:00
Benjamin Otte
27b3e53d5d legacyresample: remove unused file 2010-03-21 18:59:30 +01:00
Wim Taymans
e30f38531c sdpdemux: disable loop and auto multicast join
Disable loopback of packets.
Disable autojoin of multicast groups in the sink because the source already
does that on the shared socket.
2010-03-19 11:13:30 +01:00
Benjamin Otte
775c7584fd gst_element_class_set_details => gst_element_class_set_details_simple 2010-03-18 22:46:41 +01:00
Benjamin Otte
5258d372be virtualdub: Remove
THe plugin is so hopelessly outdated, it's just not worth keeping.
2010-03-18 22:46:41 +01:00
Tim-Philipp Müller
cadb0526d5 mpegtsdemux: fix minor memory leak in property getter
Don't leak the string returned by g_strjoinv(). While we're at it,
use GString to assemble the string to be returned.
2010-03-15 19:21:52 +00:00
Sebastian Dröge
5fe85915be imagefreeze: Only start the task after a seek if a buffer was received already 2010-03-15 11:54:33 +01:00
Tim-Philipp Müller
e0175a40a2 asfmux: fix typo in property description 2010-03-13 18:55:22 +00:00
Raimo Järvi
46abe733c6 mpegvideoparse: Update caps when the sequence header changes
Fixes bug #612687.
2010-03-13 06:03:32 +01:00
Mark Nauwelaerts
6631f50d59 camerabin: activate video bin before feeding data to it
Fixes #612615.
2010-03-12 19:30:48 +01:00
Thiago Santos
ca30c1d915 qtmux: Use xmp on mp4mux and gppmux too
Do not restrict xmp to qtmux, but use it too
on mp4mux and gppmux
2010-03-12 11:50:48 -03:00
Edward Hervey
69a40a1591 jpegparse: Fix unitialized variable on macosx 10.5 2010-03-12 09:52:57 +01:00
Stefan Kost
3b78cc5eca jpegformat: add xmp reading and writing support
Bump needed base version for new xmp helper library. Use xmp helpers in
jpegparse and jifmux.
2010-03-12 10:35:15 +02:00
Sebastian Dröge
7efecfc961 segmentclip: Add audio/video buffer segment clip elements
These elements clip the audio/video buffers to the configured segment
for the case when the upstream elements don't do this correctly.
2010-03-12 07:29:58 +00:00
Sebastian Dröge
93c938835c imagefreeze: Set undefined framerate in sink getcaps function 2010-03-12 07:29:57 +00:00
Sebastian Dröge
0c170d9107 imagefreeze: Implement reverse playback and set buffer offsets 2010-03-12 07:29:57 +00:00
Sebastian Dröge
b0590069ec imagefreeze: Add still frame stream generator element 2010-03-12 07:29:57 +00:00
Thiago Santos
5e88363430 qtmux: add xmp support
Adds xmp metatags adding to qtmux.

Fixes #609539
2010-03-11 16:42:31 -03:00
Tim-Philipp Müller
af5565a62b qtmux: fix GST_ELEMENT_ERROR usage
We need to pass (NULL) rather than NULL for empty arguments.
2010-03-11 17:21:52 +00:00
Edward Hervey
5050967766 jpegformat: Fix unitialized variables 2010-03-11 17:58:25 +01:00
Rob Clark
c3156f0663 fix compile error with trace macro
Note that this one isn't a problem with normal trace macros, but causes problems with
some replacement trace macros that I use, which expect the format string to be
appendable (ie "foo "fmt in the macro)

https://bugzilla.gnome.org/show_bug.cgi?id=612454
2010-03-11 17:52:03 +01:00
Rob Clark
79faa0b9fa mpeg4videoparse: fix compile error
gst/mpeg4videoparse/mpeg4videoparse.c:689: warning: comparison is always true due to limited range of data type

https://bugzilla.gnome.org/show_bug.cgi?id=612454
2010-03-11 17:52:01 +01:00
Rob Clark
71d0e513fa qtmux: fix compile error
gst/qtmux/gstqtmoovrecover.c:268: warning: format not a string literal and no format arguments

https://bugzilla.gnome.org/show_bug.cgi?id=612454
2010-03-11 17:52:00 +01:00
Stefan Kost
da3a8fe0fc invtelecine: inlcude stdlib.h for abs() 2010-03-11 11:14:53 +02:00
Lasse Laukkanen
190d54b096 camerabin: refactor cropping and adapting captured images 2010-03-11 10:36:27 +02:00
Teemu Katajisto
341d91520a camerabin: fix NULL -> READY state change failure handling.
In some error situations the NULL -> READY state change failed
and camerabin elements were not destroyed.
2010-03-11 10:36:26 +02:00
Lasse Laukkanen
58bf3be730 camerabin: don't use gst_bus_poll() when creating preview image
Avoid using gst_bus_poll() as the docs recommend. Use
gst_bus_timed_pop_filtered() instead.
2010-03-11 10:36:26 +02:00
Víctor Manuel Jáquez Leal
f968ae6e72 inputselector: fix the LDFLAGS 2010-03-09 21:58:52 +00:00
Sebastian Dröge
31f4ac7b30 frei0r: Sync properties to the controller if one was set 2010-03-09 21:05:50 +00:00
Sebastian Dröge
125efbffcc frei0r: Protect set/get property and processing functions from concurrent access
The frei0r documentation says that these functions must not be called
on the same instance from different threads at the same time. All
other functions are guaranteed to be threadsafe.
2010-03-09 21:05:50 +00:00
David Schleef
e98fc783c8 invtelecine: Add invtelecine element
Automatic inverse telecine element.  Right now, it clumsily attempts
to rearrange video fields into frames that don't have combing effects,
and only works with 60i/24p content at 720x480.  Later, it will handle
other pulldown variations, change caps and smooth timestamps
appropriately.
2010-03-09 12:34:36 -08:00
Benjamin Otte
87dbb0ab9d wmnc: Update description 2010-03-09 19:16:30 +01:00
Benjamin Otte
2bc4626f73 nuvdemux: Update plugin description 2010-03-09 19:16:30 +01:00
Benjamin Otte
1982ca6e51 nsf: Name the plugin nsf, not nsfdec
The plugin in gstnsf.so should be named nsf, not nsfdec.
2010-03-09 19:16:30 +01:00
Thiago Santos
4a629eea25 qtmux: Rename 'avc-sample' to 'avc' in caps
Fixes #606662
2010-03-01 17:59:13 -03:00
Thiago Santos
55e2adda37 h264parse: Replace 'avc-sample' with 'avc' in caps
Fixes #606662
2010-03-01 17:59:10 -03:00
Michael Smith
bcdb7d4851 qtmux: Take lock around use of (non-threadsafe) tagsetter interface. 2010-02-26 11:50:25 -08:00
Thiago Santos
0922dbc22e qtmux: write all udta children atoms
UDTA might have META and other children atoms
together, write them all.
2010-02-22 16:51:00 -03:00
Thiago Santos
ca136fe76b qtmux: Use internal sink pads list
Due to GstCollectPads sink pads list being not reliably
iteratable (when not inside the collected function) this
patch adds a sink pads list to qtmux to be used when iterating
sink pads on reset function.

Fixes #609055
2010-02-22 10:50:49 -03:00
Tim-Philipp Müller
7c890c0b91 fpsdisplaysink: fix NULL ref and error handling if no video sink is found
If no video sink is set and autovideosink is not available for some
reason, post a proper error message on the bus when failing to
change state, and don't try to gst_object_ref() NULL pointers. Fixes
generic/states unit test when distchecking.
2010-02-19 10:35:10 +00:00
Stefan Kost
caf2be2115 jpegparse: return offset+length from _get_image_length().
_find_end_marker() find the position of the marker. EOI has a fixed length of 2
bytes that where missing. Fixes #608998
2010-02-17 13:12:00 +02:00
Tim-Philipp Müller
3e45e6ba9f jpegparse: fix invalid memory access
See bug #608998.
2010-02-17 01:32:12 +00:00
Mark Nauwelaerts
1da893ba68 qtmux: prevent leaking hdlr name 2010-02-16 17:13:09 +01:00
Mark Nauwelaerts
eed915a6fb qtmux: support for ALAC
Fixes #580731.
2010-02-16 16:26:48 +01:00
Mark Nauwelaerts
fdfdda8f09 qtmux: refactor building stsd entry 'wave' extension 2010-02-16 16:26:45 +01:00
Edward Hervey
31d3ec392f hdvparse: Fix field error.
Spotted by Burkhard Plaum
2010-02-15 09:36:35 +01:00
Sebastian Dröge
f79842e308 Moved 'shapewipe' from -bad to -good
Fixes bug #584536.
2010-02-12 11:35:17 +01:00
Sebastian Dröge
88af663e86 shapewipe: Preserve the input color values in all cases 2010-02-10 10:52:53 +01:00
Sebastian Dröge
dc551ed30f shapewipe: Scale mask alpha values by the source alpha values 2010-02-10 10:50:49 +01:00
Sebastian Dröge
6ef01b3c59 shapewipe: Fix ARGB processing 2010-02-10 10:42:32 +01:00
Sebastian Dröge
e1c1a6c874 mpegtsdemux: Never flush more bytes than available
This could happen if the input doesn't contain any MPEG TS
data and the complete adapter content should be skipped.
2010-02-09 15:24:28 +01:00
Thiago Santos
bcbdd12fb3 qtmux: atomsrecovery: Fix compilation problem
Fixes a compilation error due to unused function result.
2010-02-08 11:51:52 -03:00
Sebastian Dröge
ad7eff41a8 shapewipe: Improve/add debug output 2010-02-08 08:26:33 +01:00
Sebastian Dröge
364c53fd61 shapewipe: Always hold the mask mutex before signalling the GCond 2010-02-08 08:20:44 +01:00
Sebastian Dröge
d875dce9bb shapewipe: Move chain function error cases at the end of the function and add useful debug output 2010-02-08 08:19:48 +01:00
Sebastian Dröge
8d213d51f6 shapewipe: Fix race condition during shutdown that can lead to a deadlock 2010-02-08 08:12:11 +01:00
Sebastian Dröge
2d1f06103a shapewipe: Drop mask buffer on FLUSH events 2010-02-08 08:11:33 +01:00
Sebastian Dröge
6df5795651 shapewipe: Update copyright year 2010-02-08 08:09:55 +01:00
Sebastian Dröge
87216b83b9 shapewipe: Don't reset properties when going PAUSED->READY
Also use defines for the default values of the properties.
2010-02-08 08:08:44 +01:00
Tim-Philipp Müller
a60d54c4e2 jpegparse: lower rank to NONE so it is not autoplugged for decoding
This element is too new and too untested to have it autoplugged.
2010-02-07 10:19:06 +01:00
Julien Moutte
d8117471f6 mpegtsmux: Fix a potential unref of a NULL pointer.
At first iteration we don't have any cached SPS/PPS buffer to free.
2010-02-04 19:45:42 +01:00
Marc-André Lureau
4d3a965476 mpegtsmux: add PAT/PMT in streamheader
The check for PAT/PMT buffers was suggested by
Zaheer Abbas Merali.

https://bugzilla.gnome.org/show_bug.cgi?id=608896
2010-02-03 18:26:15 +00:00
Marc-André Lureau
1537023905 mpegtsmux: add pat-interval and pmt-interval properties
https://bugzilla.gnome.org/show_bug.cgi?id=608896
2010-02-03 18:26:12 +00:00
Marc-André Lureau
130cf80752 mpegtsmux: fix PAT/PMT insertion frequency
The current code is comparing timestamps with different clock.
Let's use only the clock for PTS values.

Also rename frequency to interval, to avoid confusion. And remove
documentation about value 0, which won't work like documented.

https://bugzilla.gnome.org/show_bug.cgi?id=608896
2010-02-03 18:26:09 +00:00
Marc-André Lureau
6d554a5560 mpegtsmux: marking non-delta unit, including pre-sections
This patch address the issue observed with KF timestamps
and delta flag. When a section is appended before the keyframe,
it is not marked as non-delta. It's preferable to mark the
first buffer non-delta.

This patch also simplify the initial patch written by thomas,
since it does not clutter tsmux/ with a delta flag passed
around only for GStreamer convenience.

https://bugzilla.gnome.org/show_bug.cgi?id=604908
2010-02-03 16:37:27 +00:00
Stefan Kost
6c6ea0b79b jpegformat: add a basic jifmuxer
The new element can chop and reassemble the markers. I implements the tagsetter
and for now can serialize some tags to jpeg comments.
2010-02-03 15:13:30 +02:00
Thiago Santos
e1c1405396 qtmux: Adds moov recovery feature
Adds a new property to qtmux that sets a path to a file to write
and update data about the moov atom (that is not writen till the
end of the file). If the pipeline/app crashes during execution it
might be possible to recover the movie using the qtmoovrecover element.

qtmoovrecover is an element that is also a pipeline. It is not
meant to be used with other elements (it has no pads). It is merely
a tool/utilitary to recover unfinished qtmux files.

Fixes #601576
2010-02-02 14:03:38 -03:00
Stefan Kost
b9f8f5d281 jpegparse: improve parsing
Handle more app maker. Print app marker names to debug log. Remember last_marker
when parsing to avoid reparsing from the very begin.
2010-02-02 17:19:31 +02:00
Julien Moutte
6f1ee59df6 mpegtsmux: generate SPS/PPS header once and fix overflow
Some H264 packets can be as small as 5 bytes for repeated frames.
In such a situation the output buffer size was not big enough (5*2) to fit the
SPS/PPS header and the start codes. This corrupts the ES stream.
We now generate the SPS/PPS only once which is much more optimal and we now
know the size of the header to calculate the output buffer size more safely.
2010-02-02 12:23:24 +01:00
Michael Smith
80b3d80a58 qtmux: for fixed-sample size streams (PCM audio, etc) don't allocate an enormous
buffer that we then won't use at all.
2010-02-01 16:24:39 -08:00
Michael Smith
4b28a46bc7 qtmux: handle muxing adpcm correctly. 2010-02-01 16:23:48 -08:00
Michael Smith
e1fe7f357f qtmux: Set the mdia hdlr name field to what quicktime uses. Fix writing it
since it's not null-terminated. Improves compatibility with some hardware
players.
2010-02-01 16:23:47 -08:00
Michael Smith
5753f8a3aa qtmux: endianness in gstreamer is an int, not boolean. 2010-02-01 16:23:47 -08:00
Michael Smith
c2b1bebc02 mpeg4videoparse: parse more forms of codec_data 2010-02-01 16:23:47 -08:00
Stefan Kost
f3122f2b30 jpegparse: provide a getcaps function for src pad and improve setcaps
Previously jpegparse was failing in decodebin as the caps we were setting where not
setting all caps fields. We need the own getcaps function to report what we actualy
accept.
2010-02-01 17:46:29 +02:00
Stefan Kost
ab7e974dab jpegparse: extract comment and post as metadata 2010-02-01 17:16:16 +02:00
Stefan Kost
e1dd998bd0 jpegformat: code cleanups
Move the jpeg marker defines to a header (to be used for jifmux). Rewrite some
comments. Use gst_element_class_set_details_simple(). Add more logging.
2010-02-01 17:15:38 +02:00
Stefan Kost
8bd0f42017 jpegformat: move plugin part to speparate file, so that we can add the jifmux 2010-01-29 12:25:08 +02:00
Arnout Vandecappelle
bb5331e272 jpegparse: new jpeg parser element. FIxes #583098
Parse JPEG images, extracts its metadata, set caps and
packetize an image per buffer.
2010-01-29 11:41:15 +02:00
Stefan Kost
b0533bfdff camerabin: don't log NULL caps, also downgrade to DEBUG as it is very verbose
This debug log entry was also not ment to be used in the failure case.
2010-01-28 14:57:50 +02:00
Tim-Philipp Müller
2cc409861c dataurisrc: add start function so we can error out properly if no uri is set
Also save a set URI after it has been parsed successfully, so that _get_uri()
actually works.
2010-01-28 00:08:16 +00:00
Tim-Philipp Müller
766c52766e dataurisrc: don't post error message when setting the URI failed
There's a gboolean return for that, and the messages don't really
add anything useful.
2010-01-28 00:08:16 +00:00
Tim-Philipp Müller
61c6c38bd0 dataurisrc: must release the object lock before using GST_ELEMENT_ERROR 2010-01-28 00:08:16 +00:00
Mark Nauwelaerts
a42e890470 qtmux: streamline moov data memory storage
In particular, use arrays rather than (double) linked lists.
2010-01-27 12:56:18 +01:00
Mark Nauwelaerts
87eb6333da audioparsers: rename baseparse GType name to avoid possible conflicts 2010-01-27 12:45:57 +01:00
Mark Nauwelaerts
df4c4cc703 h264parse: use correct h264_parse prefix in function name 2010-01-27 12:41:57 +01:00
Thiago Santos
f815c46f5b qtmux: g_free is NULL safe 2010-01-26 13:44:04 -03:00
Thiago Santos
2dded0fceb rtpasfpay: Fix packet length semantics
Following the ed4d08189ea6e19a50e029e60da52d3583c39fbb
commit, this one fixes rtpasfpay to use packet length
as the payloaded data length, but also accepting it
as the full packet size for compatibility with
other implementations due to the lack of clarity of the
spec in this part.
2010-01-25 19:32:15 -03:00
Håkon Skjelten
0a90963fcf asfmux: Compatibility with WMSP in WMP
Makes the asfmux content compatible with WMSP and does
some hacks to make it playable in WMP, it doesn't accept
data objects with 0 size indicating that we don't know
its size, though the spec says it should be possible.

Fixes #607555
2010-01-25 19:32:15 -03:00
Stefan Kost
be12317653 camerabin: ref element before removing from the bin to resurrect
This function is not supposed to dispose the element in the case of failure
as the caller is using the elements name in the error message. Also add
some more input parameter checks in the form of g_return_val_if_fail
2010-01-25 23:04:38 +02:00
Sebastian Dröge
c51c3ad21c Revert "inputselector: Protect g_object_notify() with the object's mutex"
This reverts commit 7e067615ff, it's causing
deadlocks with playbin2.
2010-01-25 12:21:34 +01:00
Sebastian Dröge
00e5076b3a dataurisrc: Remove role attribute from links 2010-01-25 12:12:32 +01:00
Sebastian Dröge
828af08490 dataurisrc: Add docs and integrate into build system
Fixes again bug #596885.
2010-01-25 11:56:33 +01:00
Sebastian Dröge
926decbecb dataurisrc: Add data: URI source element
This is slightly based on the WebKit data: URI source
but supports more parts of RFC 2397.

Fixes bug #596885.
2010-01-25 11:15:16 +01:00
Sebastian Dröge
b56436e793 dataurisrc: Add directory for data: URI source 2010-01-25 11:15:16 +01:00
Stefan Kost
b96d57b870 mxf: add a return to fix the build when turning assert off 2010-01-25 11:49:46 +02:00
Stefan Kost
76daceadca Revert "mxf: add a return to fix the build when turning assert off"
This reverts commit 68ca62b369.
2010-01-25 11:48:29 +02:00
Stefan Kost
68ca62b369 mxf: add a return to fix the build when turning assert off 2010-01-25 09:54:27 +02:00
Kipp Cannon
7e067615ff inputselector: Protect g_object_notify() with the object's mutex
This works around the thread unsafety of g_object_notify()

Fixes bug #607513.
2010-01-24 20:53:56 +01:00
Tim-Philipp Müller
e9732ef902 pnm: use same media type as other elements
gdkpixbuf and our new typefinder in -base use image/x-portable-*.
2010-01-22 02:25:44 +00:00
Tim-Philipp Müller
b2ce6fe6d5 pnm: make element details a bit more descriptive 2010-01-22 02:25:44 +00:00
Tim-Philipp Müller
4de86d4d12 pnm: add copyright notice 2010-01-22 02:25:44 +00:00
Tim-Philipp Müller
232a1dc6d0 pnm: move typefinding into -base 2010-01-22 02:25:44 +00:00
Sebastian Dröge
454b1931bc mxf: Correctly initialize memory 2010-01-21 15:58:59 +01:00