Commit graph

10508 commits

Author SHA1 Message Date
Robert Swain
b4c8eb084c gst-camerabin2-test: Add audio capture caps option 2011-08-03 08:01:42 -03:00
Sebastian Dröge
ce0655c275 basevideoencoder: Make access to the list of frames threadsafe 2011-08-03 09:41:20 +02: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
Tim-Philipp Müller
7e49dad23b Fix some more variable-set-but-not-used compiler warnings 2011-08-02 22:57:15 +01:00
Robert Jobbagy
e8d5e476ef camerabin2: examples: Fix camerabin2 G_OBJECT cast
Adds missing cast to fix build error.
2011-08-02 17:06:48 -03: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
Raluca Elena Podiuc
28df77b7b0 basecamerasrc: don't use class offsets for start/stop-capture signal handlers 2011-08-02 13:39:18 -03:00
Raluca Elena Podiuc
2d17cd3350 basecamerasrc: document why we set preview to PLAYING 2011-08-02 13:39:18 -03:00
Raluca Elena Podiuc
5aa37ebdc8 basecamerasrc: document callbacks
Note for each callback:
- when it is called,
- whether it is mandatory or optional.
2011-08-02 13:39:17 -03:00
Raluca Elena Podiuc
c189ba3496 basecamerabinsrc: preview: remove unused new_preroll callback 2011-08-02 13:39:17 -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
b6723d092c tests: fix compiler warning in faad unit test 2011-07-29 21:27:28 +01: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
Robert Jobbagy
75a6072db8 gstmotioncells_dynamic_test: test tool what can to do dynamic change properties 2011-07-28 10:28:50 +02:00
Robert Jobbagy
4723a5d90c motioncells: new element to detect areas of motion 2011-07-28 10:28:50 +02: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
Sebastian Dröge
8ba4f9178f schroenc: Update for GstBaseVideoEncoder::finish() signature change 2011-07-21 08:09:11 +02:00
Sebastian Dröge
43e575319e vp8enc: Update for GstBaseVideoEncoder::finish() signature change 2011-07-21 08:09:11 +02:00
Sebastian Dröge
1333ef9bbf diracenc: Update for GstBaseVideoEncoder::finish() signature change 2011-07-21 08:09:11 +02:00
Sebastian Dröge
976d372f9b basevideoencoder: Allow finishing of frames with no src_buffer to drop/free the GstVideoFrame 2011-07-21 08:09:11 +02:00
Sebastian Dröge
e5be8aa8ff basevideoencoder: Only get caps from the subclass if they were not set yet by the subclass 2011-07-21 08:09:11 +02:00
Sebastian Dröge
b2525a3044 basevideoencoder: Delay sending of serialized sink events until finish_frame() 2011-07-21 08:09:11 +02:00
Sebastian Dröge
f011e59943 basevideoencoder: Add ::reset vfunc and handle ::reset/::finish the same way as in the decoder 2011-07-21 08:09:10 +02: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
Nicolas Dufresne
e8d24859ca Fix compilation for unused but not set
https://bugzilla.gnome.org/show_bug.cgi?id=654572
2011-07-20 13:11:53 -04:00
Alessandro Decina
2b7e9abc59 mpegtsdemux: fix compiler warnings 2011-07-20 08:59:25 +02:00
Sebastian Dröge
2dbd24ca84 basevideoencoder: Use a temporary GstVideoState until the subclass accepted the caps
Also store the caps in the GstVideoState and assume a PAR of 1/1 instead
of 0/1 if no PAR is specified in the caps.
2011-07-19 12:52:31 +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