Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

DataReader::SetPosition/GetPosition required?

Intel_C_Intel
Employee
252 Views
Hi,

I'm porting a stream reading application to version 5.2 and it seems that there are some changes in the area of the DataReader requirements. Specifically, it looks like the MPEG2TSParser *requires* the DataReader to support the SetPosition/GetPosition interface and returning UMC_ERR_FAILED is not an option any more. Is that true and intentional?

What strategy should I employ to work with (live) streams that don't support the positioning interface?

Thank you very much for any help,
Tilman
0 Kudos
3 Replies
Vladimir_Dudnik
Employee
252 Views

Hello,

please take a look on comments provided by our experts:

There is implicit requirement for DataReader when it operates with live streams: GetSize() should return 0. This prevents MPEG2TSParser from calling SetPostion.

GetPosition doesnt return UMC::Status, it returns Ipp64u-value that is current position in the stream. Correctness of this value isnt required for live streaming.

Regards,
Vladimir

0 Kudos
Ali_Gökalp_P_
Beginner
252 Views
We've implemented DataReader to read from a stream source ,and of course it doesn't support to get absolute position or size.Problem is we demux transmitted MPEG2TS data that includes video and private stream and we can get video data but no private stream.

When we used FileReader(and passing transmitted data file as parameter) instead of "StreamReader" we implemented, we can succesfully capture video and private stream data.

Is this an error related with GetSize() returning 0 or anything else?
0 Kudos
Vladimir_Dudnik
Employee
252 Views

there is recomendation from our expert to check implementation of MovePosition(Ipp64u) function in your StreamReader. It should have similar behaviour as in DataReader. This function is used by TS parser.

Regards,
Vladimir

0 Kudos
Reply