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 765309 - player: Handle rotation
player: Handle rotation
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
Other Linux
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on: 768687 769147
Reported: 2016-04-20 10:54 UTC by Sebastian Dröge (slomo)
Modified: 2018-11-03 13:49 UTC
See Also:
GNOME target: ---
GNOME version: ---

Description Sebastian Dröge (slomo) 2016-04-20 10:54:54 UTC
Comment 1 barunsingh 2016-04-25 05:19:46 UTC

Can you please provide some more info on this bug ?? I think we need to handle
this in video sink element, but do not much idea.

Barun Kr. Singh
Comment 2 Sebastian Dröge (slomo) 2016-04-25 06:09:01 UTC
The video sink should handle it, i.e. playsink should probably have an (optional) videoflip inside. And then do auto-rotation based on the rotation tag, but also have a property to override this and explicitly set the rotation.

(Similar the aspect-ratio overriding, it should probably first become a playsink feature)
Comment 3 barunsingh 2016-08-25 06:56:35 UTC

I have gone through the code of playsink and as a first impression,
I think videoflip can be added just like existing element/properties "video-filter" in playsink. Please suggest futher.

Comment 4 Sebastian Dröge (slomo) 2016-08-25 07:11:11 UTC
It should only be added if the sink (and nothing in the sink) supports it already, see also bug #768687. And videoflip probably needs support added for passthrough of caps it does not handle itself.
Comment 5 Sebastian Dröge (slomo) 2016-08-25 07:21:53 UTC
Also see bug #769147
Comment 6 barunsingh 2016-08-25 10:43:22 UTC
So, are you saying that we need to add videoflip code inside playsink
and do the rotation part (if user requested by setting some properties value) before sending to sink ?? Please explain..
Comment 7 barunsingh 2016-08-25 10:43:37 UTC
So, are you saying that we need to add videoflip code inside playsink
and do the rotation part (if user requested by setting some properties value) before sending to sink ?? Please explain..
Comment 8 Sebastian Dröge (slomo) 2016-08-25 11:02:02 UTC
Basically the same as the handling of colorbalance in playsink, yes
Comment 9 Lyon 2016-12-29 07:56:58 UTC
Hi, Solom
   About the gstplayer rotation realization.
   As you mentioned above it is similar as colorbalance
   I'm not sure if my understanding is correct as below:
1. in playsink, we should implement GstVideoOrientation / GstVideoDirection interface. 
and when gen_video_chain(), we should check if there is any sink element can handle GstVideoOrientation / GstVideoDirection.  and set the videoOri_element, for the interface to use.

(I still don't understand how GstVideoDirection interface works, cause the interface only has "video-direction" property, but no other virtual function to set )

2. In gstplayer, we should add some properties (like rotate/video-direction), so that it can be set to playbin ( then set to playsink,  maybe playsink also add similar property)

Could you please give me some advice about that.

And, in some element like glimagesink, it doesn't implement GstVdieoOrientation/GstVdieoDirection interface. but it has property "rotate-method", in that case, how to realize it in playsink (realize it in playsink VideoOrientation/VideoDirection interface ?)

Looking forward to your advice.

Comment 10 GStreamer system administrator 2018-11-03 13:49:02 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: