Nevcairiel / LAVFilters

LAV Filters - Open-Source DirectShow Media Splitter and Decoders
GNU General Public License v2.0
7.41k stars 787 forks source link

LAV-Splitter - IAMOpenProgress interface #510

Closed tantegrete closed 2 years ago

tantegrete commented 2 years ago

In my app i like to build a usefull function, that informs me when the splitter has probs with delivering data. Means: When network-connection is bad or lost. My suggest was to use IAMOpenProgress::QueryProgress checking values pllTotal & pllCurrent in a timer-loop.

Querying the LAV-Splitter filter says, interface IAMOpenProgress is available. But calling QueryProgress results in E_NOTIMPL. (see source LAVSplitter.cpp, Line 437: return E_NOTIMPL;)

Is it possible to get some usfull data from demuxer / parser in next version ? .... a.s.a.p. please ....

Nevcairiel commented 2 years ago

There are no plans to do this. Networking features in LAV Splitter are provided as-is for convenience, just because ffmpeg offers them, it is not designed as a networking filter and lacks a lot of the internal structure to properly track all that would be required to be a good networking filter.

tantegrete commented 2 years ago

There might be some misunderstanding.... I don't want any kind of special networking-filter. IAMOpenProgress is a standard DirectShow interface. As mentioned above, the values pllTotal & pllCurrent can e.g. derived from IMediaSample (GetSize multplied with readed samples & GetActualDataLength) in the demuxer ?!

By the way: What about having the Splitter a little bit faster loading IPTV streams ?