Video Window object options (plugin)

  • hallo zusammen!


    I want to make use of the video window for a plugin, so I made the following code:




    This just makes two video windows and I give them as parameter the decoder (0 or 1). Decoder=0 is what I'm currently watching on the TV, and decoder=1 is nothing unless I have previously activated the Picture in Picture, in which case it shows up the "secondary" channel of the PIP.


    I'd like to know if there's a way to choose exactly what it's shown on those video windows, I mean choose by PID or maybe take the video stream from my computer via ethernet.


    Could anyone help me about it? Is there any plugin code where I can take some information?


    Best regards! :smiling_face:

  • I'm doing some zapping by using the following code:



    pretty easy, right? It just makes a zapp to the (static) service defined. If I am using two video windows the zapping only happens to the one called with the parameter "decoder=0".


    Of course, nothing happens if that service was previosly selected.


    I'd like to make a zapping happen in the other video window too.


    By the way, the video window with decoder=1 doesn't show anything unless you have previously activated Picture in Picture using the blue button.


    I don't find a way of calling a Picture in Picture object... don't know which parameters to be called... any help?

  • And what do the parameters REFTYPE, FLAGS, ONID, NS, PARENT_SID, PARENT_TSID, mean?


    I guess SID must be stream identifier, and TSID transport stream identifier, but I don't know the rest.


    You don't know anything about how the Video Window object works?... :question_mark: :question_mark:

  • You can try to use the code of the InfoBarPip class in InfoBarGenerics.py. There you can see how to play a service in the PiP window.


    And what to play is defined with eServiceReference... 1 is for DVB, 4097 is gstreamer stuff and so on.


    Examples:
    sref = "1:0:1...."
    ref = eServiceReference(1, 0, sref)


    or:
    ref = eServiceReference(4097, 0, "/hdd/movie/movie.avi")


    or:
    ref = eServiceReference(4097, 0, "http://192.168.2.11/movie.mkv")


    But you need the plugin gst-plugin-neonhttpsrc for http streams.

    MfG Ali

    DM8000 | DM8000 | DM500HD | DM500HD | DM7020S


    Bash
    #!/bin/sh
    while [ 1 ]
    do
    	echo "i love my dreams!!!"
    	sleep 1
    done
  • Thank you, it has been very helpful! Specially telling me to take a look at InfoBar code.


    But I have another question, now I know how to turn a Hexadecimal service chain into a eServiceRefernce like this: esref1 = eServiceReference("1:0:1:138C:32:22D4:EEEE0000:0:0:0:")


    But, what if I want to get the currently service and get the original hexadecimal chain?


    I do:


    Code
    newservice = self.session.nav.getCurrentlyPlayingServiceReference()
    print "getCurrentlyPlayingServiceReference returns the following: ", newservice


    And I get at the Console Terminal:


    getCurrentlyPlayingServiceReference returns the following: <enigma.eServiceReference; proxy of <Swig Object of type 'eServiceReference *' at 0x2e561b60> >


    It's an object that I can't manipulate... it's not a list or a string...


    Any clue?


    Danke!

  • I have found a way to do it... I guess I should have tried this before posting, sorry.


    Anyway, just in case anyone else needs to do it is way simple by doing this:

    Code
    newservice = self.session.nav.getCurrentlyPlayingServiceReference()
    newserviceString=newservice.toString()
    print "getCurrentlyPlayingServiceReference returns the following: ", newservice,newserviceString


    And the printing result is:


    Zitat

    getCurrentlyPlayingServiceReference returns the following: <enigma.eServiceReference; proxy of <Swig Object of type 'eServiceReference *' at 0x2e564b40> > 1:0:1:138C:32:22D4:EEEE0000:0:0:0: