Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Intel_C_Intel
Employee
59 Views

DataReader::SetPosition/GetPosition required?

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
59 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

Ali_Gökalp_P_
Beginner
59 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?
Vladimir_Dudnik
Employee
59 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

Reply