Commit graph

14863 commits

Author SHA1 Message Date
Jesper Larsen
4632ccd5be mpegts: Add network_id to GstMpegTsNIT
The network_id is stored in the subtable extension. Make a field
in the GstMpegTsNIT for better code readability
2014-02-06 14:11:53 +01:00
Jesper Larsen
8f429c6c6e mpegts: Add functions to send sections as events
Added function that enables the user to send a GstMpegTsSection as
an event to a GstElement. (i.e. mpegtsmux)
2014-02-06 14:00:33 +01:00
Jesper Larsen
930cde73a7 mpegts: Add functions to packetize section
Sections needs to be packetized for use in i.e. mpegtsmux.
These functions handles the generic common parts of a GstMpegTsSection
2014-02-06 14:00:28 +01:00
Jesper Larsen
b1c5143b79 mpegts: Add init functions for descriptor/section 2014-02-06 12:18:13 +01:00
Jesper Larsen
4630dfda05 mpegts: Add function to encode UTF8 strings
This can be used to create descriptors with appropriate character maps
2014-02-06 12:18:13 +01:00
Jesper Larsen
465dea6f32 mpegts: Use big endian UCS-2 coding
Parsing of control codes requires a big endian character map
2014-02-06 12:18:13 +01:00
Jesper Larsen
73c82e3f1c mpegts: Add support for two-way iconv conversions
To use in conversions from UTF-8 to another character map
2014-02-06 12:18:13 +01:00
Edward Hervey
72127a85f5 applemedia: Fix libtool usage
--tag=CC is needed for static build
2014-02-06 16:17:39 +01:00
Edward Hervey
00bf61a0db mpegtsdemux: Update plugin license field
The original code (old mpegtsparse) from which this plugin was based on
was dual-licensed. This allowed usage of the code under any of the
licenses (which including LGPL):

"""
* Alternatively, the contents of this file may be used under the terms of
* the GNU Lesser General Public License Version 2 or later (the "LGPL"),
* in which case the provisions of the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of the MPL or the LGPL.
"""

When refactored (leading to the creation of this new plugin), I chose all
new code to be LGPL-only (which was allowed for pre-existing code) by removing
the MPL sections.

The headers were all updated, but not the plugin license field. This commit
fixes this.
2014-02-06 14:28:54 +01:00
Thiago Santos
05ea12eaea tests: insertbin: update tests to 1.x scenario
The thread that calls the success/failure callback can be the
same that is adding/removing the element as the IDLE probe can
happen instantly if the pad is not 'busy'.

This required moving some checks for the callback counter around
as well as removing some pad pushes from the main test thread as
they were made useless after the IDLE pad probe was fixed in core
by commit 0324358ebc
2014-02-04 14:17:26 -03:00
Thiago Santos
f5cf601638 tests: camerabin: avoid warning if test is failing
In case the test fails the message won't be returned and it
will lead to an assertion that might be misleading to those
debugging the issue.
2014-02-04 14:17:26 -03:00
Thiago Santos
cfda1aafa3 wrappercamerabinsrc: stop source to do internal reconfiguration safely
In order to be able to change the caps on multiple capsfilters the
source element needs to be stopped, otherwise it will get a few
reconfigure events and might try to renegotiate while the bin
is still transitioning its caps, leading to a not-negotiated failure
and the image capture won't happen because the source will be
unusable.

The solution is to keep the source in paused while the caps are being
changed in the bin, and then bring the element back to playing once
it is done. Unfortunately this increases the image capture latency,
but it should always work.

A possible improvement to reduce the latency is to add another signal
to be called before 'start-capture': 'prepare-capture'. At this step
the camera source should set all caps it needs and get the source
ready for doing the capture as soon as 'start-capture' is called.
This can be done on a future commit
2014-02-04 14:17:26 -03:00
Thiago Santos
3cdeea0cac camerabin: remove unused variable
Probably a left over from 0.10 -> 1.x porting
2014-02-04 14:17:26 -03:00
Carlos Rafael Giani
d12fdf785c mpg123: improved error report and checks
Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
2014-02-04 17:30:13 +01:00
Duncan Palmer
06dd8839f4 uridownloader: Fix race condition between EOS handling and downloading a range
https://bugzilla.gnome.org/show_bug.cgi?id=723134
2014-02-04 12:53:00 +01:00
Vincent Penquerc'h
2ae5adfd53 aiffparse: adaptive buffer size
Copied from wavparse, helps with CPU usage on high bitrate
files.
2014-02-04 10:48:55 +00:00
Dan Kegel
58b077de23 Since b1a756fd, applemedia fails to build on osx 10.7, which lacks VideoToolbox.h... so disable it on OSX if that header is missing.
https://bugzilla.gnome.org/show_bug.cgi?id=723508
2014-02-03 10:11:31 +01:00
Vincent Penquerc'h
0c01e9812a aiffparse: fix data start offset calculation not counting COMM size
In particular, this fixes seeking back to the start reading data
out of sync with sample start granularity, yielding swapped channels.
2014-02-02 14:35:18 +00:00
Thiago Santos
20b902fcfa tests: gdpdepay: update to 1.x events
Tests needed stream start at beginning and segment after the
caps event
2014-01-31 23:44:11 -03:00
Thiago Santos
6b0014b5ac gdp: add DTS to headers 2014-01-31 23:44:11 -03:00
Thiago Santos
a029a35036 gdppay: update to 1.x reality
* stream-start-id is mandatory at the beginning, so add that to the
gdp headers
* caps must be sent before new segment, invert the order from legacy
0.10 code

And fix the tests as a ref is now kept for those buffers that compose
the header
2014-01-31 23:44:11 -03:00
Colin Macdonald
c8eb403e38 fisheye: Fix documentation
https://bugzilla.gnome.org/show_bug.cgi?id=723398
2014-01-31 16:59:11 -05:00
Thibault Saunier
5fd9b42f29 h264parse: Default framerate to 0/1 when no informations found
It is not perfect but it allows us to be sure that the mandatory 'framerate'
field is present in the caps.

As soon as some information is found in the stream, that will be
updated.

https://bugzilla.gnome.org/show_bug.cgi?id=723243
2014-01-31 09:28:58 +01:00
Thiago Santos
e9a253640e tests: gdppay: refactor and add missing bits
Most of the tests weren't updated after the sticky events order
and stream start. Fix that and refactor those tests check that
are the same to some common functions.

Those functions still don't actually test the content but at
least now they are in a single place and can be improved
without replication
2014-01-30 19:45:22 -03:00
Thiago Santos
68a19b5c7b tests: gdppay: Do not forget to send stream-start event on test
Even if we don't want to push the caps event, a stream-start must
be present before any data in 1.x
2014-01-30 18:18:18 -03:00
Thiago Santos
e909e6a071 gdppay: push the stream-start event
instead of just swallowing upstream's stream-start into its
payload, push it as elements expect a stream-start before data
2014-01-30 18:18:18 -03:00
Sebastian Dröge
9682e44db6 tsdemux: We do not support the SKIP seek flag but that is not a problem 2014-01-30 20:29:58 +01:00
Edward Hervey
d331eee67c Automatic update of common submodule
From d48bed3 to 1a07da9
2014-01-30 10:44:18 +01:00
Thiago Santos
8255f0bb10 tests: camerabin: improve preview handling in tests
Always erase the preview image data to allow the next check for
it to operate properly
2014-01-30 03:29:25 -03:00
Duncan Palmer
06fec6709d uridownloader: Always release the object lock in gst_uri_downloader_fetch_uri_with_range()
even if downloader->priv->urisrc is not set. This avoids deadlock under some
some conditions on cancel.

https://bugzilla.gnome.org/show_bug.cgi?id=723127
2014-01-29 20:38:57 +01:00
Nicola Murino
3248dff5fa opencv: The plugin works with 2.4.8 too
https://bugzilla.gnome.org/show_bug.cgi?id=723230
2014-01-29 20:23:34 +01:00
Edward Hervey
274387e8e9 codecparsers: Don't use gst_ as prefix for private symbols
Otherwise they get exposed/accessible in the resulting .so

And make check-exports will complain
2014-01-29 10:50:40 +01:00
Amaury Medeiros
44a87d2109 tsdemux: Fix flags comparison operator precedence
Fix operator precedence, so the whole operation is
negated instead of only flags variable.

https://bugzilla.gnome.org/show_bug.cgi?id=722096
2014-01-28 13:56:44 +01:00
Mark Nauwelaerts
1122b56ff6 mpegts: install but nodist for generated header 2014-01-26 14:42:52 +01:00
Sebastian Dröge
30d80bf658 androidmedia: Don't handle FLUSHING or NOT_LINKED as error
And also just stop the task for FLUSHING.
2014-01-25 17:41:18 +01:00
Sjoerd Simons
f6da7ea8bb mxfdemux: Don't go into pull mode when the sequential flag is set
When the scheduling query results has GST_SCHEDULING_FLAG_SEQUENTIAL set
in its flags don't go into pull mode to prevent over-eager seeking.

https://bugzilla.gnome.org/show_bug.cgi?id=722934
2014-01-24 22:14:47 +01:00
Thiago Santos
68ce96a9e4 tests: h264parse: fix tests after leading 0x00 removal
Commit 6af387cd5a made h264parse
strip a leading 0x00 byte from some output scenarios. This broke
tests as bs_to_nal test expects one more byte on the output.

Fix this by comparing the output with the expected stripped version,
too.
2014-01-24 12:48:43 -03:00
Thiago Santos
61192a1619 codecparsers: refactor common nal parsing to nalutils
Moves common code from h264 and h265 to a separate file
2014-01-24 09:30:35 -03:00
Aurélien Zanelli
af78b45979 h264parse: Fix multiple SEI messages in one SEI RBSP parsing.
An SEI RBSP could contains more than one SEI message as specified in
7.4.2.3.1.

This commit change the parser API: the gst_h264_parser_parse_sei()
function now create and fill a GArray containing GstH264SEIMessage.

https://bugzilla.gnome.org/show_bug.cgi?id=721715
2014-01-23 20:18:53 +01:00
Thiago Santos
24c87b18c2 h265parser: remove trailling 0x00 bytes as the spec doesn't allow them
Just like h264, the spec doesn't allow the last bytes of a NAL to be 0x00.
So remove it as it is probably just padding.

This is related to https://bugzilla.gnome.org/show_bug.cgi?id=721384
2014-01-22 10:27:01 -03:00
Thiago Santos
4f0fc9a16f h264parser: remove trailling 0x00 bytes as the spec doesn't allow them
The spec states that the last byte of a NAL 'shall not' be 0x00
and it is allowed for byte-stream format to add padding 0x00 for
alignment.

So our parser should strip any trailling 0x00.

https://bugzilla.gnome.org/show_bug.cgi?id=721384
2014-01-22 08:36:30 -03:00
Justin Joy
99c2aa14c3 mpegtsmux: don't leak pad name when treating events
https://bugzilla.gnome.org/show_bug.cgi?id=722699
2014-01-22 10:07:11 +01:00
Wim Taymans
0bb2e2f74f mpegpsmux: update last_ts to mux correctly
We use last_ts to decide what buffer to mux next so make sure that it
always contains the last known valid timestamp.
2014-01-21 11:19:13 +01:00
duhui.lee
686c2f8e79 h265parser: Initialize pointer correctly that is never assigned but freed in error cases
Fixes crash on broken streams.

https://bugzilla.gnome.org/show_bug.cgi?id=722669
2014-01-21 09:58:18 +01:00
Alexey Chernov
d96999328a d3dvideosink: First destroy the window, then unregister the class
It's impossible to create another pipeline with d3dvideosink after disposing
the previous one due to some problem in d3dvideosink. The message is: "Unable
to register Direct3D hidden window class".

I've evaluated the problem and it's that UnregisterClass() in working thread is
called before DestroyWindow() and UnregisterClass() does nothing.

https://bugzilla.gnome.org/show_bug.cgi?id=722622
2014-01-21 09:45:07 +01:00
Wim Taymans
e58a00b2a2 mpegpsmux: fix timestamp handling
If the first buffer that we handle for a stream has no timestamp, we
would never consider this pad again for muxing which causes queues to
fill up and pipelines to stall. Instead, try to mux pads with -1
timestamps as soon as possible.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=722330
2014-01-20 16:25:51 +01:00
Wim Taymans
4e10667aad mpegpsmux: return GST_FLOW_EOS when we pushed EOS
Return GST_FLOW_EOS from the collected function when we pushed EOS or
else it simply keeps on calling our collected function.
2014-01-20 16:23:49 +01:00
Sebastian Dröge
0d794993fb applemedia: Actually the enc/decbins are not used anywhere currently
Code is commented out.
2014-01-20 10:38:16 +01:00
Sebastian Dröge
1107e158f7 applemedia: Fix build on iOS and probably also on OSX
The video toolbox is not available on iOS, and also on OSX
we should probably build all source files that are used for
it.

https://bugzilla.gnome.org/show_bug.cgi?id=722590
2014-01-20 10:34:57 +01:00
duhui.lee
cd8c0227c8 h265parse: Update caps when receive VPS/SPS/PPS
https://bugzilla.gnome.org/show_bug.cgi?id=722240
2014-01-20 10:05:18 +01:00