Proposed HN MPEOS API change to support trick mode frame types

» Back to forum topics
  4 posts   Feedicon  
Replies: 3 - Last Post: August 20, 2012 21:23
by: smallman
showing 1 - 4 of 4
Posted: August 08, 2012 18:59 by landerson
There is currently a method - mpeos_hnServerGetFrameTypesInTrickMode(), which the RI stack uses to query the platform which frame type will be used for playback of content using a trick mode rate (not 1x playback). The current method needs an additional parameter which is relevant to choosing the frame type. The missing parameter is the requested frame type from the player. The patch below shows this new additional parameter:

Index: mpeos_hn.h
===================================================================
--- mpeos_hn.h (revision 36989)
+++ mpeos_hn.h (working copy)
@@ -1356,9 +1356,11 @@
* "application/x-dtcp1" mime type here.
* @param playspeedRate Retrieve supported frame types for content item
* at this playspeed.
- * @param frameType Returns types of frames which will be sent for
+ * @param frameTypeRequested Type of frames requested for playback
+ * playspeed combination.
+ * @param frameTypeSupported Returns types of frames which will be sent for
* the specified content/profile/mime type/
- * playspeed combination.
+ * playspeed and requested frame type combination.
*
* @return MPE_HN_ERR_NOERR If successful.
* @return MPE_HN_ERR_INVALID_PARAM If content/profileId/mimeType/playspeed
@@ -1367,7 +1369,8 @@
mpe_Error mpeos_hnServerGetFrameTypesInTrickMode(
mpe_HnStreamContentLocation contentLocation, void * contentDescription,
char * profileIDStr, char * mimeTypeStr, float playspeedRate,
- mpe_HnHttpHeaderFrameTypesInTrickMode * frameType);
+ mpe_HnHttpHeaderFrameTypesInTrickMode frameTypeRequested,
+ mpe_HnHttpHeaderFrameTypesInTrickMode * frameTypeSupported);

/**
* Returns the frames per second setting which will be applied by this server
Posted: August 09, 2012 14:05 by landerson
Based on comments from internal review, this change is not necessary. The value returned will indicate the highest level of support from the server. An example would be if the server returns "IP" this indicates the server supports both "I" and "IP" frame types in trick modes. The only change necessary to MPEOS HN API is to clarify this in the method description.

The following is the proposed comment/documentation only change:

Index: mpeos_hn.h
===================================================================
--- mpeos_hn.h (revision 37020)
+++ mpeos_hn.h (working copy)
@@ -1337,7 +1337,11 @@
/**
* Returns value which indicates the frame types that can be expected in a
* group of pictures for requested content using supplied profile ID and mime
- * type combination at specified playspeed.
+ * type combination at specified playspeed. If server returns a value of
+ * "I", this indicates that the server can only support "I" Frames. If server
+ * returns a value of "IP", this indicates that a server can support both
+ * "I" and "IP" frames. If server returns a value of "all", this indicates
+ * server can support "I", "IP" and "all".
*
* Refer to <a href="http://www.cablelabs.com/specifications/">OC-SP-HNP2.0 specification</a>,
* section 5.6.1.6 FrameTypesInTrickMode for more relevant details.
Posted: August 17, 2012 15:30 by landerson
Checked into trunk with svn 37023 -
OCORI-4677; OCAPRI-2537; RISK-high : Added complete support for frame types in trick mode HTTP header. There is now processing in place that will query the platform for supported frame types in trick modes. Based on platform support and what was requested, a frame type in trick mode is selected.

NOTE: This change includes an MPEOS HN API change but it was documentation only.
Posted: August 20, 2012 21:23 by smallman
Posting proposed mpeos changes to this forum is one step in a larger process.
Comments on this proposed change must be submitted by Thursday, September 6, 2012.
Replies: 3 - Last Post: August 20, 2012 21:23
by: smallman