Commit graph

4052 commits

Author SHA1 Message Date
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
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
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