home
products
contribute
download
documentation
forum
Home
Forums
New posts
Search forums
What's new
New posts
All posts
Latest activity
Members
Registered members
Current visitors
Donate
Log in
Register
What's new
Search
Search
Search titles only
By:
New posts
Search forums
Search titles only
By:
Menu
Log in
Register
Navigation
Install the app
Install
More options
Contact us
Close Menu
Forums
MediaPortal 1
MediaPortal 1 Plugins
Popular Plugins
OnlineVideos
Progress bar for video dowloads?
Contact us
RSS
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
You are using an out of date browser. It may not display this or other websites correctly.
You should upgrade or use an
alternative browser
.
Reply to thread
Message
<blockquote data-quote="Wiesel" data-source="post: 628004" data-attributes="member: 73228"><p>Actually there are built in events in DirectShow to detect buffer drainage (EC_BUFFERING_DATA, EC_STARVATION), but unfortunately none of the filters involved in my tests (YouTube with MPC FLV Splitter & ffdshow) signals it <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite3" alt=":(" title="Frown :(" loading="lazy" data-shortname=":(" /> </p><p></p><p>I have now hacked together a C# wrapper for the "File Source (URL)" filter, but it could be used for any source filter supporting IAsyncSource. What I'm doing is intercepting the call from the splitter to the source filter (IAsyncRead.SyncRead) which gives me the current byte-position in the source stream, and if that position is beyond the buffered part of the file I know the buffer of the splitter has drained (it may need a more elaborate logic but basically that's it).</p><p></p><p>The biggest problem now is that my filter-wrapper doesn't connect automatically in the graph, but if I manually connect it to a splitter it works. Maybe it might be a better idea to implement it more as a proxy filter between the source and the splitter instead of wrapping the source... I'd have to test that.</p></blockquote><p></p>
[QUOTE="Wiesel, post: 628004, member: 73228"] Actually there are built in events in DirectShow to detect buffer drainage (EC_BUFFERING_DATA, EC_STARVATION), but unfortunately none of the filters involved in my tests (YouTube with MPC FLV Splitter & ffdshow) signals it :( I have now hacked together a C# wrapper for the "File Source (URL)" filter, but it could be used for any source filter supporting IAsyncSource. What I'm doing is intercepting the call from the splitter to the source filter (IAsyncRead.SyncRead) which gives me the current byte-position in the source stream, and if that position is beyond the buffered part of the file I know the buffer of the splitter has drained (it may need a more elaborate logic but basically that's it). The biggest problem now is that my filter-wrapper doesn't connect automatically in the graph, but if I manually connect it to a splitter it works. Maybe it might be a better idea to implement it more as a proxy filter between the source and the splitter instead of wrapping the source... I'd have to test that. [/QUOTE]
Insert quotes…
Verification
Post reply
Forums
MediaPortal 1
MediaPortal 1 Plugins
Popular Plugins
OnlineVideos
Progress bar for video dowloads?
Contact us
RSS
Top
Bottom