PlayerManager and adding new players (1 Viewer)

sytone

Portal Member
April 17, 2013
49
70
103
Home Country
Barbados Barbados
Any details on the player manager service and adding new players?
 

morpheus_xx

Retired Team Member
  • Team MediaPortal
  • March 24, 2007
    12,070
    7,459
    Home Country
    Germany Germany
    I moved your question into a new thread so we can focus on this topic.

    First, the best source for information is the source code of MP2. If you check here: https://github.com/MediaPortal/Medi...tal.UI/Presentation/Players/IPlayerManager.cs you'll find all methods commented.

    If you plan to add new players, this can be done by plugins. We are using the much: OnlineVideos, SlimTV, Cinema plugin, all provide own players (mostly derived from inbuilt players and extending them for new features or "linking" them to plugins).

    I'll will collect more information about examples and post them here.

    What parts you are interested in?
     

    sytone

    Portal Member
    April 17, 2013
    49
    70
    103
    Home Country
    Barbados Barbados
    So I have embedded the Silverlight player for Netflix in v1 in a hacky way and wanted to see what alternatives there are and if I can use that as a interface so system events can be hooked in better.
     

    morpheus_xx

    Retired Team Member
  • Team MediaPortal
  • March 24, 2007
    12,070
    7,459
    Home Country
    Germany Germany
    Ok, this requires a bit more brainstorming :)

    Can you please post a link to the MP1-way? I need to get an idea first how it works.
     

    sytone

    Portal Member
    April 17, 2013
    49
    70
    103
    Home Country
    Barbados Barbados
    So I am currently creating WebBrowser control and wrapping calls from MP and translating them to the sliverlight control in the page. This is hacky as I have added the WebBrowser to the forms Controls collection and I am intercepting calls to the window to add/remove it. I also have to do PInvokes to stop the control from eating all command sent to it as JavaScript/IE/Silverlight eat any keyboard commands, I have to refocus to the Media portal window.

    I have considered looking at ISilverlightViewer to host natively but not had time and was wondering if I can use the player framework so it was more native for MP. If I do this however I think I will have to deal with the rendering of the hosted instance.
     

    morpheus_xx

    Retired Team Member
  • Team MediaPortal
  • March 24, 2007
    12,070
    7,459
    Home Country
    Germany Germany
    I can explain how current video players work:

    Video Player uses DirectShow to playback a file/stream. Its output video frames are "captured" by a custom EvrPresenter, it does a callback to pass the video frame back to MP2. This frame is than used by VideoBrush to be painted in controls (fullscreen background or simple rectangle).

    So the chain is:
    DirectShow --> EvrPresenter --> Video Surface --> VideoBrush --> Rendering.

    I'm not sure if such a chain (or shorter) could work for WebBrowsers. But i.e. if you get a bitmap of the rendered screen, you could use this the same way like the video surface in my example above.

    Another way would be to let the plugin run like in MP2, bypassing the player system an using a screen that shows WebBrowser in "fullscreen" (or how you like it).

    It's an interesting topic for me, so I appreciate any work on this :)
     

    Users who are viewing this thread

    Similar threads

    I made some updates to the Wiki page describing the <import> and <include> tags, including adding a couple of new xml examples. For the first example, I highlighted the example text and eventually found the location in the menus where I could select the CODE macro to have the example text formatted as a code example. So far, so good...
    I made some updates to the Wiki page describing the <import> and <include> tags, including adding a couple of new xml examples. For...
    I made some updates to the Wiki page describing the <import> and <include> tags, including adding a couple of new xml examples. For...
    Replies
    0
    Views
    523
    I don't think so, because MP has no way of knowing at which timestamp the external player stopped playback. Best way to achieve this would be to use an auto-resume feature in your external player itself. (MPC-HC can do that, I don't know about VLC)
    I don't think so, because MP has no way of knowing at which timestamp the external player stopped playback. Best way to achieve...
    Hello Folks, Is it possible to enable MP to resume in an External Player, where it left off ? I guess the question also is, can...
    Replies
    2
    Views
    1K
    Maybe [News] - MediaPortal 1.33 Pre-Release with new x64 version ready for testing
    Maybe [News] - MediaPortal 1.33 Pre-Release with new x64 version ready for testing
    After a long time I built a new HTPC. Everything went well. Just one problem. I imported the old recordings and can see them in the...
    Replies
    4
    Views
    421
    Reading through your code, I can see it's more than a couple steps above my paygrade. :cry:
    Reading through your code, I can see it's more than a couple steps above my paygrade. :cry:
    I used to run the TVService under the "NT Service\TVService" account to follow least privileges principal (not exposing my whole...
    Replies
    3
    Views
    2K
    I don't know about MP2 but as you said you tried MP1 too, how is the MP music config ? MP(1) will only use LAV if you select "Internal DirectShow player" as music output, but then you lose gapless playback. If you you don't have multichannel music you can choose WASAPI as the output and set the number of speakers to stereo. I have...
    I don't know about MP2 but as you said you tried MP1 too, how is the MP music config ? MP(1) will only use LAV if you select...
    Not sure if this a a bug/config/settings problem. I am running a media portal 2.5 server with 2.41 client but it seems I get the...
    Replies
    1
    Views
    652
    Top Bottom