Community
cancel
Showing results for 
Search instead for 
Did you mean: 
flobadobatwork
Beginner
39 Views

Setting IMediaSeeking end position returns E_INVALIDARG

I've also posted this on the Microsoft directshow forum but it might be an Intel specific issue so I'll post here too...

I have a simple graph to save a short video clip from a larger one...

async file source -> intel mp4 demuxer -> intel h264 decoder -> intel h264 encoder -> intel mp4 muxer -> file writer

I can build the graph ok and set the reference clock to null. Checked all hr return values as S_OK.

I call IMediaSeeking::SetPositions(&startpos, AM_SEEKING_AbsolutePositioning, &endpos, AM_SEEKING_AbsolutePositioning) and E_INVALIDARG is returned. The reference time values I am passing in are ok (set to 10000000 and 50000000 for testing). I can seek ok when just setting the start time, it's only when the end time is set that I get the E_INVALIDARG.

I have also tried using the IMediaSeeking interface from the video output pin of the demuxer. I have also tried removing the decoder and encoder from the graph so that the demuxer is connected to the muxer.

I'm at a loss as to why SetPositions doesn't work.

0 Kudos
2 Replies
Nina_K_Intel
Employee
39 Views

Hello,

We will check this issue.

Regards,
Nina
Nina_K_Intel
Employee
39 Views

Hello,

I'm sorry for late reply. I've just checked the Media SDK splitter code - it doesn't support stop position at all. This is intentional limitation and likely won't be fixed in nearest future as splitters are provided as side binaries to enable basic compatibility of decoder and encoder filters with container media.

Best regards,
Nina
Reply