Nicolas Dufresne
d0fd6a0b0b
gtkgstbasewidget: Pass already parsed VideoInfo
...
As the base sink already parse the caps into VideoInfo it
makes sense to pass in VideoInfo to the widget instead.
https://bugzilla.gnome.org/show_bug.cgi?id=752441
2015-07-17 15:40:22 -04:00
Nicolas Dufresne
785b7bd8e4
gtkglsink: Port to GstGtkBaseSink base class
...
https://bugzilla.gnome.org/show_bug.cgi?id=752441
2015-07-17 15:14:09 -04:00
Nicolas Dufresne
84bc5adbc9
gtksink: Port to GstGtkBaseSink
...
https://bugzilla.gnome.org/show_bug.cgi?id=752441
2015-07-17 15:14:09 -04:00
Nicolas Dufresne
0fc6765b70
gtkbasesink: Create a base class
...
This contains all the common code between the gtkglsink and
gtksink.
https://bugzilla.gnome.org/show_bug.cgi?id=752441
2015-07-17 15:13:12 -04:00
Nicolas Dufresne
13ae5cb2f5
gtkglsink: Port to GtkGstBaseWidget
...
https://bugzilla.gnome.org/show_bug.cgi?id=752441
2015-07-17 15:13:11 -04:00
Nicolas Dufresne
b53f859b59
gtksink: Port to GtkGstBaseWidget
...
https://bugzilla.gnome.org/show_bug.cgi?id=752441
2015-07-16 17:12:30 -04:00
Nicolas Dufresne
ad45bcdd34
gtk: Add GtkGstBaseWidget
...
This is a "pseudo" base class. Basically it's a shared instance
and class structure and a shared set of function between the
two widget. It cannot have it's own type like normal base class
since the one instance will implement GtkGLArea while the other
implements GtkDrawingAreay. To workaround this, the parent instance
and class is a union of both.
https://bugzilla.gnome.org/show_bug.cgi?id=752441
2015-07-16 17:12:30 -04:00
Nicolas Dufresne
04beac6e0f
uploadelement: Protect against NULL pointer
...
I notice that if you stop the pipeline during a renegotiation
the upload may be NULL while an allocation query is being run.
In that scenario, returning FALSE to the allocation query is the
best thing.
2015-07-16 17:05:36 -04:00
Nicolas Dufresne
fecef40463
gtkgstglwidget: Remove unused gl_caps
2015-07-16 17:05:36 -04:00
Nicolas Dufresne
4be2229ba6
gtksink: Create a window if the widget is unparented
...
The same way as it's now done with the gtkglsink, create a top
level window if the widget is not parented.
https://bugzilla.gnome.org/show_bug.cgi?id=751104
2015-07-16 17:05:36 -04:00
Nicolas Dufresne
dae8008d8b
gtksink: Ensure the copy pasted code remains the same
...
Move back the default property at the same place they are in the
other sink. This helps when using a diff viewer to synchronized
this unfortunate copy paste.
https://bugzilla.gnome.org/show_bug.cgi?id=751104
2015-07-16 17:05:36 -04:00
Nicolas Dufresne
0bc7e9a240
gtk: Fix race between queue_draw and destroy
...
In GTK dispose can be called before the last ref is reached. This
happens when you close the container window. The dispose will be
explicitly called, and destroyed notify will be fired. This patch
fixes this race by properly tracking the widget state.
In the sink, we now set the widget pointer to NULL, so the widget
will properly get created again if you set your pipeline to NULL
state after the widget was destroy, and set it back to PLAYING.
https://bugzilla.gnome.org/show_bug.cgi?id=751104
2015-07-16 17:05:36 -04:00
Tim-Philipp Müller
53a431a323
dashdemux: remove typefinder, move it to typefindfunctions in -base
...
Otherwise this plugin will be loaded pretty much whenever
there's anything to typefind. And the code was pretty much
copy'n'paste from -base anyway.
2015-07-16 21:28:28 +01:00
Florin Apostol
e12d3d9be2
dashdemux: default timescale is 1
...
default timescale value should be 1, not 0.
https://bugzilla.gnome.org/show_bug.cgi?id=752414
2015-07-16 20:05:58 +01:00
Florin Apostol
8b558d68cb
dashdemux: free prop_string only after it's no longer needed
...
https://bugzilla.gnome.org/show_bug.cgi?id=752419
2015-07-16 19:57:40 +01:00
Nicolas Dufresne
e4f9009103
gtkgstwidget: Add missing break in get_property
2015-07-15 11:47:51 -04:00
Nicolas Dufresne
6bfbadc0f9
gtksinks: Remove undefined private structure
...
The classes contains a private structure which are not defined,
hence unused.
2015-07-15 11:44:30 -04:00
Edward Hervey
7cb734b1cd
configure/qt: Fix build without Qt5X11Extras
2015-07-10 14:01:59 +02:00
Sebastian Dröge
a6507de48e
mpdparse: g_slice_new() can't return NULL
...
It will abort() if allocation fails.
2015-07-10 13:26:51 +03:00
Sebastian Dröge
77b618ca77
mpdparser: Don't allow network access when reading the XML data
2015-07-10 13:20:26 +03:00
Matthew Waters
769fffa3d9
new qt5 qml GL video sink
...
Very much in the same spirit as the Gtk GL sink
Two things are provided
1. A QQuickItem subclass that renders out RGBA filled GstGLMemory
buffers that is instantiated from qml.
2. A sink element that will push buffers into (1)
To use
1. Declare the GstGLVideoItem in qml with an appropriate
objectName property set.
2. Get the aforementioned GstGLVideoItem from qml using something like
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
QObject *rootObject = engine.rootObjects().first();
QQuickItem *videoItem = rootObject->findChild<QQuickItem *> ("videoItem");
3. Set the videoItem on the sink
https://bugzilla.gnome.org/show_bug.cgi?id=752185
2015-07-10 15:25:26 +10:00
Matthew Waters
abde710f42
gtk: add to the generic/states test
2015-07-09 16:40:19 +10:00
Xavier Claessens
d95fd04960
GstGtkGLSink: Ensure widget has a toplevel parent
...
Checking for a parent is not enough, it must have a toplevel one.
If widget has no toplevel parent then add it in a GtkWindow, that
make it usable from gst-launch-1.0.
https://bugzilla.gnome.org/show_bug.cgi?id=751104
2015-07-09 16:40:19 +10:00
Xavier Claessens
b71b7dc9e6
GstGtkGLSink: Post error if widget gets destroyed
...
https://bugzilla.gnome.org/show_bug.cgi?id=751104
2015-07-09 16:40:19 +10:00
Xavier Claessens
72b48a39d8
GstGtkGLSink: fix possible warning in finalize
...
If the element is finalized before going in READY state
the widget could still be NULL.
https://bugzilla.gnome.org/show_bug.cgi?id=751104
2015-07-09 16:40:19 +10:00
Sebastian Dröge
cd47556351
mpdparser: Fix some memory leaks in the MPD parser and unit test
2015-07-08 23:15:14 +03:00
Sebastian Dröge
a755fbb440
Revert "Revert "dashdemux: fixed gst_mpd_client_advance_segment to return GST_FLOW_EOS""
...
This reverts commit 4875ddf585
.
This was based on a misunderstanding of the code.
https://bugzilla.gnome.org/show_bug.cgi?id=752085
2015-07-08 16:33:50 +03:00
Luis de Bethencourt
a01133dd8f
dashdemux: remove redundant else statement
...
Else statement is redundant when the if block finishes with an return.
2015-07-08 11:33:04 +01:00
Sebastian Dröge
4875ddf585
Revert "dashdemux: fixed gst_mpd_client_advance_segment to return GST_FLOW_EOS"
...
This reverts commit dfe37ffc59
.
https://bugzilla.gnome.org/show_bug.cgi?id=752085
2015-07-07 19:51:39 +03:00
Sebastian Dröge
07d27d906a
mpdparser: Fix off-by-one in has-next-segment calculation
2015-07-07 19:51:39 +03:00
Matthew Waters
d5a39896dc
download: only start a download transfer for sysmem caps features
2015-07-07 22:38:08 +10:00
Florin Apostol
cc9885ef4e
dashdemux: added parsing of bitstreamSwitching@AdaptationSet
...
https://bugzilla.gnome.org/show_bug.cgi?id=751170
2015-07-07 14:08:04 +03:00
Florin Apostol
581ae1d24d
dashdemux: regrouped functions in gstmpdparser.h file
...
Moved gst_mpd_client_get_next_segment_availability_end_time and
gst_mpd_client_add_time_difference functions to be grouped with
functions from the same category.
https://bugzilla.gnome.org/show_bug.cgi?id=752027
2015-07-07 14:02:10 +03:00
Florin Apostol
dfe37ffc59
dashdemux: fixed gst_mpd_client_advance_segment to return GST_FLOW_EOS
...
Fixed gst_mpd_client_advance_segment to return GST_FLOW_EOS if the
new index is out of range.
https://bugzilla.gnome.org/show_bug.cgi?id=751850
2015-07-07 13:30:07 +03:00
Matthew Waters
2b9dddbafe
gltransformation: correct vao usage
...
keep the vao bound after uploading the new vertex data
fixes a mesa GL error "no vertex array object bound" on caps changes
2015-07-07 15:32:13 +10:00
Matthew Waters
26df88cd24
gl: consolidate egl header includes to egl-only headers
...
They may conflict with other headers.
2015-07-07 13:12:49 +10:00
Thibault Saunier
31b770af0b
gtkglsink: Release the widget lock when trying to get the GL context
...
Otherwise we might be waiting for the lock on the main loop (for
example in the ->render vmethod) and thus we will deadlock.
2015-07-06 19:33:35 +02:00
Luis de Bethencourt
9fb7add179
curlsshsink: remove redundant else statement
...
Else statement is redundant when the if block finishes with an return.
2015-07-06 15:25:16 +01:00
Florin Apostol
8551f74a05
dashdemux: fixed segment start when specified by SegmentTimeline
...
@t attribute in segment Timeline is relative to the period start.
Corrected the code to take this into account when computing segment
timestamp.
https://bugzilla.gnome.org/show_bug.cgi?id=751841
2015-07-05 13:54:00 -03:00
Florin Apostol
8e82129875
dashdemux: wrong segment duration computed by gst_mpd_client_setup_representation
...
Corrected computation of segment start and duration.
https://bugzilla.gnome.org/show_bug.cgi?id=751914
2015-07-05 13:31:38 -03:00
Florin Apostol
5151c42085
dashdemux: corrected search for audio languages
...
Corrected the initialisation of mimeType in
gst_mpdparser_get_list_and_nb_of_audio_language: the variable is used
in a loop, so it must be set to NULL at the beginning of each iteration.
https://bugzilla.gnome.org/show_bug.cgi?id=751911
2015-07-05 13:25:12 -03:00
Olivier Crête
81b9d1531d
glvideomixer, glmixer: Add description and klass
2015-07-03 12:28:47 -04:00
Sebastian Dröge
9e7454a90a
openh264dec: Unref video frames and codec state in all cases
2015-07-02 18:51:44 +02:00
Nicolas Dufresne
fe283a9aeb
gl: Don't leak pool if set_config failed
2015-07-02 09:40:05 -04:00
Sebastian Dröge
5109d9930c
openh264dec: Uninitializing the decoder can't fail and will always return 0 == cmResultSuccess
...
... but when we cast cmResultSuccess to a gboolean it will be FALSE, and make
GstVideoDecoder::stop() fail for no reason.
2015-07-02 14:16:05 +02:00
Vineeth TM
8ec2e0ad62
glimagesink: use g_clear_error instead of g_error_free
...
replace g_error_free with g_clear_error, as it internally
checks if error variable is valid or not.
https://bugzilla.gnome.org/show_bug.cgi?id=751823
2015-07-02 11:34:10 +01:00
Miguel París Díaz
3a3c01e7c7
srtpdec: Add config for the replay window size
...
https://bugzilla.gnome.org/show_bug.cgi?id=751729
2015-06-30 16:14:25 +02:00
Florin Apostol
0f37768626
dashdemux: corrected parsing of %u in segment templates
...
https://bugzilla.gnome.org/show_bug.cgi?id=751716
2015-06-30 15:24:28 +02:00
Florin Apostol
e2d1126391
dashdemux: corrected recognition of $$$ in segment templates
...
fixed recognition of $$ after a $ that ends an identifier, eg $Time$$$
https://bugzilla.gnome.org/show_bug.cgi?id=751682
2015-06-29 19:28:56 -03:00
Luis de Bethencourt
be664ae40d
gl: add missing break
...
gst_gl_view_convert_element_set_property() is missing a break at the end
of the PROP_OUTPUT_DOWNMIX_MODE case. Adding it.
CID #1308949
2015-06-29 16:10:50 +01:00