PurposeThe DVR Engine API provides access to DVR Engine which is responsible handling RTSP streaming and playback of RTP recordings. API descriptionThe DVR Engine API (also known as CCRDvrApi) is a Library API that provides a Client-Server interface to DVR Engine. DVR Engine is an engine that handles RTP packets from various sources and passes them to video player utility for rendering. For historical reasons most of the classes in the engine are named after letters CR that stands for Common Recording. As this component is now called DVR Engine, the naming has not yet made its way to names of classes or variables inside component. As said above, CCRDvrApi/Engine, is tightly tied to video player functionality.
Sequences what to do and when can be hard to understand if one is not familiar
with the MMF framework. The idea is that through MMF framework the video player
opens a local host address (internal connection). After opening is completed,
the player uses
DVR Engine can also be used to play proprietary RTP clips (DVBH recordings). In local playback, DVR Engine pushes recorded packets to the MMF framework through its interface below, XPS. In this case all control of playback is done through DVR Engine instead of MMF framework and RTSP commands of internal connection. Note that API for DVR Engine does not provide any means to adjust the quality of the stream or the speed of the playback. Use casesMost important use cases for the DVR Engine API are starting and stopping the streaming of an RTSP clip. Starting the streaming happens by first creating a client. After that the
client needs an Access Point usable for streaming. This is done by calling
the
Stopping the streaming happens by calling the
Further access to streaming session (pause, seek, etc.) goes through the MMF framework. Other use cases are:
Related APIs
API class structureThe application using the DVR Engine API needs to implement the MCREngineObserver
interface. The DVR Engine API uses this to inform of changes in streaming.
Other than that, there are no additional requirements. Connecting to server
happens by creating a new instance of
Related APIs
Related APIs
Using the DVR Engine APIRTSP streaming:
Playing RTSP streaming clipThe first application using
The next step is to add Internet Access Point to
This call starts the procedure of DVR Engine attaching to existing IAP.
When the function returns, it is NOT ready to be used. After the attachment
is ready, the client gets a notification through
Now, after IAP is set, DVR Engine is ready to start playing RTSP clip.
At this point, the video player should perform
At this point DVR Engine starts RTSP negotiation with the remote RTSP server. After this if the user wants to communicate with DVR Engine about possible playback issues (such as pausing) it needs to be performed through the MMF framework Finally, when the user wants to close the RTSP streaming, it calls close session and deletes it.
Related APIs
Error handlingIn case of error,
Streaming/playback errors and problems are informed through the
Related APIs
Memory overheadMemory/build:
Run-time memory allocation for this component is huge while the clip is playing. Several hundred kilobytes of memory is allocated for the RTP packet buffers sitting between source and sinks. There is no measurement of that available.
Related APIs
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. License: EPL
|