On Symbian, when video is rendered using the MMF client API (CVideoPlayerUtility2), the following happens:
- The client provides a native window handle (RWindow) and an offset rectangle within that window
- The MDF decoder plugin creates a Symbian graphics surface using the RSurfaceManager API
- The MMF binds that surface to the native window handle by calling RWindow::SetBackgroundSurface
- The MDF decoder plugin renders decoded video frames into the surface
- When a decoded frame is ready for presentation, the MDF post-processor plugin notifies the Surface Update Server, which triggers a composition pass, causing the frame to appear on the screen
This means that video cannot be transformed between decoding and presentation, at least not without modification of the video adaptation layer (i.e. MDF plugins) for a given device. As such, although
QTMOBILITY-645 allows video to be rendered to a QGraphicsVideoItem, any transformations (other than linear scaling) applied to the item will not be applied to the video content.
This task is for tracking both (a) the platform enablers and (b) the modifications to the Symbian QtMultimediaKit backends (MediaPlayer and Camera) required to allow non-rectilinear transforms to be applied to video content.