Progress bar for video dowloads? (1 Viewer)

Wiesel

Portal Member
April 23, 2008
34
0
Home Country
Austria Austria
Thats great to hear, thanks!!

Are the gui and graphbuilder managed in the same thread? If not you could at least display an animated loading screen so the user knows >something< is happening and MP isn't stuck.
 

Wiesel

Portal Member
April 23, 2008
34
0
Home Country
Austria Austria
I just tried the lastest svn version and the progress bar really works great, also some flv streams that didn't work for me on v0.20 with SAF5 (e.g. Pro7 Desperate Housewifes) are now working as well :)

I just got another idea for an improved user experience... would it be possible to let the buffer fill to a certain level until the playback starts, and if the buffer drains during playback to pause again until that fill level is reached? For example when watching Apple Movie Trailers on 1080p the stream delivery rate for me is just a tad slower than the playback rate which results in an annoying constant "jidder"... I'd rather wait one time for a few seconds until the stream continues, and I'm pretty sure I'm not the only one!?
 

offbyone

Development Group
  • Team MediaPortal
  • April 26, 2008
    3,989
    3,712
    Stuttgart
    Home Country
    Germany Germany
    In plugin config you can already set a buffer level. The playback will be delayed and waitcursor shown until the set percentage has been downloaded.

    Stopping Playback when buffer drains is not so easy, because that is information the filter graph doesn't give. I could match a % of downloaded bytes with the percent of current playback position, but on variable bitrate clips, this isn't equal.
     

    Wiesel

    Portal Member
    April 23, 2008
    34
    0
    Home Country
    Austria Austria
    I noticed the buffer level setting but it doesn't seem to do anything. Playback starts immediately, no matter what I set the percentage to (eg. YouTube or Apple Movie Trailers)...
     

    Wiesel

    Portal Member
    April 23, 2008
    34
    0
    Home Country
    Austria Austria
    Stopping Playback when buffer drains is not so easy, because that is information the filter graph doesn't give. I could match a % of downloaded bytes with the percent of current playback position, but on variable bitrate clips, this isn't equal.

    Does that mean that the buffer is handled by some filter, not by you?

    edit: nevermind, I just found it out

    I've never done anything programming related with DirectShow but after taking a look into MSDN, wouldn't this be a solution to detect buffer drainage:

    Currently, at least in case of a file source url, the graph as I read it from the sources looks something like this: "File Source (URL)" > unknown demux/decode filters > renderer.
    What if we just put a custom filter in between the file source and demux/decoding stage ("File Source (URL)" > buffermonitoring filter > demux/decode ...) that implements IAsyncReader, this way we would know how big the file is, how much has been buffered and how much the subsequent filter has read. If readBytes == bufferedBytes we know that the buffer drained and ths way playback could be paused for some time. If there isn't more magic behind that I can't see, it would be pretty easy to implement, as the read requests would just have to be passed through.
     

    offbyone

    Development Group
  • Team MediaPortal
  • April 26, 2008
    3,989
    3,712
    Stuttgart
    Home Country
    Germany Germany
    The only problem is: Who's gonna develop a directshow filter? That's a really tough one. And I don't have enough time and don't want to wander on the C++ site.
    But, as this is an opensource project ... someone could ...
     

    Wiesel

    Portal Member
    April 23, 2008
    34
    0
    Home Country
    Austria Austria
    If you think that my proposal would theoretically work, I'll take a look into it. I've never programmed in C++ (just ansi C) but if it turns out that the implementation isn't too hard I'll give it a try.
     

    offbyone

    Development Group
  • Team MediaPortal
  • April 26, 2008
    3,989
    3,712
    Stuttgart
    Home Country
    Germany Germany
    I am not sure if you idea works. IAsyncReader might not be possible in our scenario.
    There are two ways data can go through the directshow graph. Push or Pull.
    I don't recommend going blindly into developing this, with directshow filters you have to do a lot of reading and research before wasting even more time.
     

    Users who are viewing this thread

    Similar threads

    Hi, I’m really happy with MP2 and have it in productive environment for several years. I’m just wondering, if the OSD could show further information. OSD progress bar that shows different positions (current position, buffered position, total buffer length) chapter indicators, so you can see, where you can jump respectively from...
    Hi, I’m really happy with MP2 and have it in productive environment for several years. I’m just wondering, if the OSD could show...
    Hi, I’m really happy with MP2 and have it in productive environment for several years. I’m just wondering, if the OSD could show...
    Replies
    0
    Views
    555
    Well, currently the plugin shows the sun/moon times in user's local time. As you said, It would require to add time zone parameter to the profile. I'll try to add this option in the next version. PS: please use official thread
    Well, currently the plugin shows the sun/moon times in user's local time. As you said, It would require to add time zone parameter...
    I have the current (1.0.2.0 level) World Weather Lite plugins installed on x86 and x64 different MP1 copies. When Location is...
    Replies
    7
    Views
    822
    Thanks CyberSimian, that's fixed it (y) and also thanks to AJS for including the change in the next release.
    Thanks CyberSimian, that's fixed it (y) and also thanks to AJS for including the change in the next release.
    When using the List Layout for Argus TV Recorded TV the page count is above the bottom information bar, refer to attached...
    Replies
    4
    Views
    293
    As the TVEngine is same, is it not possible to take over some MP1 code pieces here or is it fully player dependent? So far not, this could be achieved. But at first the infos need to be existing.
    As the TVEngine is same, is it not possible to take over some MP1 code pieces here or is it fully player dependent? So far not...
    Hello, after round about a decade of using MP1 I decided to test the so far most current version of MP2. Overall I like it very...
    Replies
    11
    Views
    2K
    restarting is supported but depends on the reason why it failed. As an external tool try JDownloader.org - Official Homepage
    restarting is supported but depends on the reason why it failed. As an external tool try JDownloader.org - Official Homepage
    Earlier this year I changed my internet service provider from a landline (where I was consistently overcharged), to a mains-powered...
    Replies
    1
    Views
    612
    Top Bottom