After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 663869 - GesTimelinePipeline could provide API ala playbin2 to set and get the audio and video preview sinks
GesTimelinePipeline could provide API ala playbin2 to set and get the audio a...
Status: VERIFIED FIXED
Product: GStreamer
Classification: Platform
Component: gst-editing-services
git master
Other Linux
: Normal enhancement
: 1.2.0
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-11-11 17:28 UTC by Xabier Rodríguez Calvar
Modified: 2013-09-25 07:12 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Initialize sink variable to NULL when getting the properties with the normal API (1.20 KB, patch)
2011-11-11 17:28 UTC, Xabier Rodríguez Calvar
committed Details | Review
Added GObject properties API (3.52 KB, patch)
2011-11-11 17:28 UTC, Xabier Rodríguez Calvar
none Details | Review
Added audio-sink and video-sink properties ala playbin2 (3.57 KB, patch)
2011-12-23 13:25 UTC, Xabier Rodríguez Calvar
committed Details | Review
Added the timeline and the mode as properties (3.03 KB, patch)
2011-12-23 13:25 UTC, Xabier Rodríguez Calvar
none Details | Review
Added the timeline and the mode as properties (3.03 KB, patch)
2012-01-17 15:25 UTC, Xabier Rodríguez Calvar
none Details | Review
Added the timeline and the mode as properties (3.04 KB, patch)
2012-01-17 15:28 UTC, Xabier Rodríguez Calvar
committed Details | Review

Description Xabier Rodríguez Calvar 2011-11-11 17:28:15 UTC
Created attachment 201245 [details] [review]
Initialize sink variable to NULL when getting the properties with the normal API

It would be really nice that GesTimelinePipeline could provide GObject properties ala playbin2 to get and set the audio and video preview sinks. Patches provided.
Comment 1 Xabier Rodríguez Calvar 2011-11-11 17:28:44 UTC
Created attachment 201246 [details] [review]
Added GObject properties API
Comment 2 Xabier Rodríguez Calvar 2011-12-23 13:25:13 UTC
Created attachment 204137 [details] [review]
Added audio-sink and video-sink properties ala playbin2
Comment 3 Xabier Rodríguez Calvar 2011-12-23 13:25:43 UTC
Created attachment 204138 [details] [review]
Added the timeline and the mode as properties
Comment 4 Xabier Rodríguez Calvar 2011-12-23 13:26:56 UTC
I changed a bit the second patch and added a third to include also the timeline and the mode as properties.
Comment 5 Vincent Penquerc'h 2012-01-17 11:45:22 UTC
Review of attachment 204138 [details] [review]:

::: ges/ges-timeline-pipeline.c
@@ +129,3 @@
+    case PROP_TIMELINE:
+      ges_timeline_pipeline_add_timeline (GES_TIMELINE_PIPELINE (object),
+                                          g_value_get_object(value));

Missing break here.
Comment 6 Xabier Rodríguez Calvar 2012-01-17 15:25:24 UTC
Created attachment 205452 [details] [review]
Added the timeline and the mode as properties

Added missing break.
Comment 7 Xabier Rodríguez Calvar 2012-01-17 15:28:16 UTC
Created attachment 205453 [details] [review]
Added the timeline and the mode as properties

Missing break, now for good.
Comment 8 Jean-François Fortin Tam 2012-03-19 00:40:37 UTC
Vincent, can you take a look at this again?
Comment 9 Thibault Saunier 2012-03-27 22:06:02 UTC
commit 8ff7b7def5ebd0fda89cf5d8728e48aecb497461
Author: Robert Swain <robert.swain@collabora.co.uk>
Date:   Tue Oct 4 16:25:22 2011 +0200

    GESTimelinePipeline: Add video sink get/set API
    
    This new API allows getting/setting of the preview mode's video sink
    element through playsink's video-sink property.


commit edf47f880d45bd7c740603cd88e4a96b5b19bb97
Author: Robert Swain <robert.swain@gmail.com>
Date:   Mon Nov 7 15:08:34 2011 +0100

    GESTimelinePipeline: Add API to get/set audio sink
Comment 10 Xabier Rodríguez Calvar 2012-03-28 09:39:32 UTC
(In reply to comment #9)
> commit 8ff7b7def5ebd0fda89cf5d8728e48aecb497461
> Author: Robert Swain <robert.swain@collabora.co.uk>
> Date:   Tue Oct 4 16:25:22 2011 +0200
> 
>     GESTimelinePipeline: Add video sink get/set API
> 
>     This new API allows getting/setting of the preview mode's video sink
>     element through playsink's video-sink property.
> 
> 
> commit edf47f880d45bd7c740603cd88e4a96b5b19bb97
> Author: Robert Swain <robert.swain@gmail.com>
> Date:   Mon Nov 7 15:08:34 2011 +0100
> 
>     GESTimelinePipeline: Add API to get/set audio sink

This bug is not about not having API for the audio and video sink. That API is provided in the commits you mention. I am reopening the bug because I would like this pipeline to provide the GObject property based API to set the preview sinks as it is done for playbin2.

When I provided the first patches I was told to add more properties because the API could become inconsistent, as you could not set all the values thru methods or thru properties, so I added properties for the methods that had only only one parameter, which is all you can do with properties.

As a side effect of not having this API, when I was subclassing something using playbin2 to take advantage of the common code, I needed to add another virtual method just to set the preview sinks, which is something that I wouldn't have to do if the patches that I proposed were integrated.

Hence, this bug is not fixed, so reopening it.
Comment 11 Sebastian Dröge (slomo) 2012-10-25 10:45:22 UTC
commit 101240e67c9d66397f2165012de2dc0b8409d0d7
Author: Xabier Rodriguez Calvar <xrcalvar@igalia.com>
Date:   Fri Dec 23 14:07:21 2011 +0100

    timeline: Added timeline and mode as properties

commit 8a298d1fab7492a2e8715dc2bdc265004a394bf8
Author: Xabier Rodriguez Calvar <xrcalvar@igalia.com>
Date:   Fri Nov 11 17:29:20 2011 +0100

    timeline: Adding GObject property API to get/set preview audio and video sinks

commit fd30629eed98420638bb45e853c0b6eae870af0b
Author: Xabier Rodriguez Calvar <xrcalvar@igalia.com>
Date:   Fri Nov 11 17:09:34 2011 +0100

    timeline: Initialize as NULL the preview sinks when getting them.
    
    This way, if there is a problem getting the properties from the
    playsink, we do not return garbage.
Comment 12 Xabier Rodríguez Calvar 2012-10-25 13:12:12 UTC
Thanks!