Posted: May 15, 2013 18:44 by pmodem
Following change is being proposed to update MPE OS HN data structure mpe_HnPlaybackParamsMediaServerHttp to include additional parameters to specify time offset values when time seek range header is requested.
Include 'startTimePosition' and 'endTimePosition' as well as a boolean 'useTimeOffset' to indicate to the platform to use time offset values and not byte offsets.
In the current implementation the time offsets are being converted to byte offsets in the Java layer. But for some types of content (transformed content, live streaming, in-progress recordings etc.) it may not be possible to calculate byte offsets. Hence it is preferable to leave those as time offsets and pass them down to MPE OS layer and have the porting layer do the translation. If a platform is able to convert time offset to byte offset it can do so at this level.
--- mpe/os/include/mpeos_hn.h (revision 41653)
+++ mpe/os/include/mpeos_hn.h (working copy)
@@ -726,6 +726,9 @@
float playspeedRate; ///< Requested playspeed rate. Normal (1x) or trick-play (!=1x).
+ mpe_Bool useTimeOffset; ///< True if time offset values are to be used (as opposed
+ ///< to byte offsets)
int64_t startBytePosition; ///< Start streaming data from this byte position. If -1, use
///< default start media time appropriate for dlnaProfileId
///< associated with the underlying streaming session. In
@@ -736,6 +739,16 @@
///< stream until no more content is available in the direction
///< of playspeedRate.
+ int64_t startTimePosition; ///< Start streaming data from this time position. If -1, use
+ ///< default start media time appropriate for dlnaProfileId
+ ///< associated with the underlying streaming session. In
+ ///< particular, this value will be -1 for
+ ///< MPE_HN_CONTENT_LOCATION_LOCAL_VIDEO_DEVICE.
+ int64_t endTimePosition; ///< End streaming when this time position is reached. If -1,
+ ///< stream until no more content is available in the direction
+ ///< of playspeedRate.
uint32_t cciDescSize; ///< Number of CCI descriptor insertions that need to be performed.
mpe_HnPlaybackTransportCCI* cciDescData; ///< Pointer to an allocated structure that conveys per-PID copy