Best way to add a filter inside PlayBin2

Jacques Bride jacques.bride at googlemail.com
Thu Feb 9 06:24:06 PST 2012


Hello Stefan

just to confirm, I will adapt my filter element to be a source of of
the OMAP4 video sink (pvrvideosink) and I can use it this ways if I
understand well:

gst-launch playbin2 uri="file:///myfile" video-sink="myfilter!pvrvideosink"

Then to make it default for players like totem, I know I can set the
priority of plugins with the method gst_plugin_feature_set_rank () but
I don't really see how I can augment the rank of the combo
"myfilter!pvrvideosink" such that it is used by default instead of
pvrvideosink alone

Thanks

2012/2/9 Jacques Bride <jacques.bride at googlemail.com>:
> I see, I understand
> Thanks
> Jacques
>
>
> 2012/2/9 Stefan Sauer <ensonic at hora-obscura.de>:
>> On 02/09/2012 10:49 AM, Jacques Bride wrote:
>>> Hello Stefan
>>>
>>> Thanks for your reply. In other words, do you recommend that I create
>>> a new video sink and kind of force PlayBin2 to use it instead of the
>>> one used normally? The display on the OMAP4 pandaboard is handled by a
>>> TI custom video sink called GstPVRVideoSink and not sure I can change
>>> it to get same performance and platform support
>>
>> You don't replace the actual sink, you just tell apps to use your bin,
>> which contains the effect + the actual sink.
>>
>> Stefan
>>
>>> Jacques
>>>
>>>> One way is to set a custom video sink, which is a bin containing your
>>>> effect ! autovideosink. If you can't modify the apps, you will need to
>>>> install that custom video sink bin and set the RANK to be e.g.
>>>> PRIMARY+10 so that it is automatically chosen.
>>> 2012/2/8 Stefan Sauer <ensonic at hora-obscura.de>:
>>>> On 02/08/2012 06:27 PM, Jacques Bride wrote:
>>>>> Hello
>>>>>
>>>>> I am developing a frame enhancement filter for the need of a video
>>>>> control application. I am developing on a OMAP4 pandabaord on ubuntu
>>>>> with the Texas Instruments hardware accelerated gstreamer pipeline
>>>>> (1080PPfps decode), anyhow I think my question is rather general.  I
>>>>> am a beginner in gstreamer so please do not hesitate to redirect me to
>>>>> the doc if my question is already answered somewhere.
>>>>>
>>>>> My project consists in a video filter that transforms the yuv decoded
>>>>> frames before being displayed (for example a sepia filter to display
>>>>> frames in sepia color).
>>>>>
>>>>> What is the best way to add my filter in the installed gstreamer
>>>>> pipeline such that it becomes part of my video chain?
>>>>>
>>>>> Please see below more details:
>>>>> - I wish to use the installed and omap4 optimized gstreamer/totem
>>>>> pipeline to enable full video stream
>>>>> decode and display with my filter on
>>>> One way is to set a custom video sink, which is a bin containing your
>>>> effect ! autovideosink. If you can't modify the apps, you will need to
>>>> install that custom video sink bin and set the RANK to be e.g.
>>>> PRIMARY+10 so that it is automatically chosen.
>>>>
>>>> Stefan
>>>>
>>>>> .
>>>>> - I created  a gstreamer plugin/element for my filter with the
>>>>> gst-template framework, but how to make it part of GstPlayBin2?
>>>>> - I looked at the pipeline graph of totem and gst-launch: they both
>>>>> use the playbin2 module, and I would like to add my filter in-between
>>>>> GstURIDecodeBin and GstPlaySink (input from src0 and output to
>>>>> video_raw_sink  through gstinputselector). Is is possible to add and
>>>>> link a new element  here without breaking the full bin? It is not
>>>>> either on the input or the output of playbin2 so I do not really
>>>>> understand how to just create a playbin2 element in my application and
>>>>> delicately insert a new element inside...
>>>>> - do I have to modify the source code of PlayBin2, add my filter,
>>>>> recompile and install it on my board to have my added features
>>>>> naturally enabled when I play videos? Or is it possible to tell
>>>>> existing gst-launch and totem applications to add a user filter plugin
>>>>> in the installed video processing?
>>>>>
>>>>> Thanks for your help
>>>>> Jacques
>>>>> _______________________________________________
>>>>> gstreamer-devel mailing list
>>>>> gstreamer-devel at lists.freedesktop.org
>>>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>> _______________________________________________
>>>> gstreamer-devel mailing list
>>>> gstreamer-devel at lists.freedesktop.org
>>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>> gstreamer-devel at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


More information about the gstreamer-devel mailing list