Jump to content


Photo

GStreamer 1.0

gstreamer 1.0 openpli

  • Please log in to reply
2520 replies to this topic

Re: GStreamer 1.0 #1041 MastaG

  • Senior Member
  • 1,531 posts

+118
Excellent

Posted 12 April 2015 - 23:26

Ah great, I understand now.

I only needed to set GST_VERSION = "1.0"

 

So the above patch will make it use christophecvr's multibox gstreamer instead.

Very nice, since I was about to ask how to integrate his git :P

Btw, the changes for /meta-dream/recipes-bsp/drivers/dreambox-blindscan-utils_1.7.bb and /meta-openpli/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink.bb are already in the gst-1 git.

 

I also applied the bypass patch for the dreambox (the 7 instead of 0x22 thing).

 

So that's as good as it gets for the 800se I guess :)



Re: GStreamer 1.0 #1042 Beeker

  • PLi® Contributor
  • 1,604 posts

+203
Excellent

Posted 12 April 2015 - 23:50


Btw, the changes for /meta-dream/recipes-bsp/drivers/dreambox-blindscan-utils_1.7.bb and /meta-openpli/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink.bb are already in the gst-1 git.

 

I also applied the bypass patch for the dreambox (the 7 instead of 0x22 thing).

 

So that's as good as it gets for the 800se I guess :)

 

Ok. Nice to hear. In case you want a blank screen instead of a freezing frame when zapping to another channel. You can use this patch if you like.

 

The patch kills the HDMI-in for Xtrend. But no mather if you only build for DMM..right?

 

Put the the enigma2.bbappend file into  openpli-oe-core/meta-openpli/recipes-openpli/enigma2

 

and the patch into

 

openpli-oe-core/meta-openpli/recipes-openpli/enigma2/files

 

 

So you get rid off a freezing frame when zapping.

 

 

Rename the enigma2.txt to enigma2-bbappend   (because .bbappend extention is not allowed to upload).

Attached Files


Edited by Beeker, 12 April 2015 - 23:52.

Dreambox dm920, Uclan Ustym4Kpro, Gigablue UHD TRIO 4K and Dreambox dm8000. Wavefrontier T55 13.0|19.2|23.5|28.2 + Ziggo.


Re: GStreamer 1.0 #1043 MastaG

  • Senior Member
  • 1,531 posts

+118
Excellent

Posted 13 April 2015 - 12:25

Ah nice!

I always wondered why it would freeze the last frame instead of going blank.

I guess I can work around it by doing a "if not dreambox" instead of removing the code.



Re: GStreamer 1.0 #1044 peteru

  • Senior Member
  • 36 posts

+5
Neutral

Posted 13 April 2015 - 13:57

I have done a bit of research and most modern Broadcom hardware will support PCM input at up to 24 bits @ 192kHz. Even if the hardware can not output that format, the DSPs will do either hi-fidelity sample rate conversion or a simple low-fidelity interpolation.

 

I guess that 24 bit and 192kHz would be good defaults for MAX settings. Specific boxes that have lower limitations should probably specify alternate values when configuring dvbmediasink.


"Beauty lies in the hands of the beer holder."

 


Re: GStreamer 1.0 #1045 mx3L

  • Senior Member
  • 616 posts

+79
Good

Posted 13 April 2015 - 14:59

Hi,

 

I'm continuing in @athoik's effort to cleanup gstreamer1.0 recipes:

 

Subject: [PATCH] cleanup gstreamer1.0-plugins-base

The is no reason to have .bbappend in official repos.
The idea behind .bbappend is to modify/override bb that belong to different repo.
Another usage is to make user modifications (eg meta-local).

Remove .bbappend, add cdparania PACKAGE config in base.inc, add patch from bbappend in base.bb.
Finally increase PR to force rebuild.

 

@athoik's patch should be commited in gst-1 branch.

 

1. patch

 

enigma2: remove not existing gstreamer1.0-plugins-bad-cdxaparse from RRECOMMENDS

 

2. patch

 

cleanup gstreamer1.0-plugins-good
    
    remove bbappend, since it should be used for overriding
    original recipe from other layers

 

3. patch

 

cleanup gstreamer1.0-plugins-bad
    
    remove bbappend, since it should be used for overriding
    original recipe from other layers.
    
    update base.inc:
    use librtmp as dependency instead of rtmpdump, since
    we don't need rtmpdump binaries to build rtmp plugin
    
    update PACKAGECONFIG, EXTRA_OECONF and DEPENDS
    to correspond with changes made on base.inc by removed bbappend
    
    update base_1.4.5.bb:
    update SRC_URI to correspond with changes made on base_1.4.5.bb
    by removed bbappend
    
    bump PR to force rebuild

4. patch

 

cleanup gstreamer1.0-plugins-ugly
    
    remove bbappend, since it should be used for overriding
    original recipe from other layers.
    
    update base.inc:
    update PACKAGECONFIG, EXTRA_OECONF and DEPENDS
    to correspond with changes made on base.inc by removed bbappend

 

Build was successfull, but it would be great if somebody could double check

Attached Files



Re: GStreamer 1.0 #1046 Erik Slagter

  • PLi® Core member
  • 46,969 posts

+542
Excellent

Posted 17 April 2015 - 16:25

How's the testing guys? It this ready for inclusion yet?


* Wavefrontier T90 with 28E/23E/19E/13E via SCR switches 2 x 2 x 6 user bands
I don't read PM -> if you have something to ask or to report, do it in the forum so others can benefit. I don't take freelance jobs.
Ik lees geen PM -> als je iets te vragen of te melden hebt, doe het op het forum, zodat anderen er ook wat aan hebben.


Re: GStreamer 1.0 #1047 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 17 April 2015 - 21:09

How's the testing guys? It this ready for inclusion yet?


Please commit! It will cleanup the repo from .bbappends.
Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23.5E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

Re: GStreamer 1.0 #1048 a4tech

  • Senior Member
  • 39 posts

-2
Neutral

Posted 17 April 2015 - 23:12

new gstreamer can not handle e.x:

#NAME IPTV Web Radio (Polska) (RADIO)
#SERVICE 1:64:1:0:0:0:0:0:0:0::--- Web Radio (Polska) ---
#DESCRIPTION --- Web Radio (Polska) ---
#SERVICE 4097:0:1:0:0:0:0:0:0:0:http%3a//lodz.radio.pionier.net.pl%3a8000/pl/akadera.ogg.m3u:Akaderia Students Politechnik
#DESCRIPTION Akaderia Students Politechnik
#SERVICE 4097:0:1:0:0:0:0:0:0:0:http%3a//www.polskastacja.pl/play/biesiada.pls:Biesada Polish Folk music
#DESCRIPTION Biesada Polish Folk music
#SERVICE 4097:0:1:0:0:0:0:0:0:0:http%3a//www.tuba.fm/stream.pls?radio=34&mp3=1:Chopin classical music
#DESCRIPTION Chopin classical music
#SERVICE 4097:0:1:0:0:0:0:0:0:0:http%3a//www.radio.lublin.pl/streaming/64k.m3u:Lublin Radio
#DESCRIPTION Lublin Radio
#SERVICE 4097:0:1:0:0:0:0:0:0:0:http%3a//planetamp3-01.eurozet.pl%3a8400/listen.pls:Planeta FM Warsaw Top Hits
#DESCRIPTION Planeta FM Warsaw Top Hits
#SERVICE 4097:0:1:0:0:0:0:0:0:0:http%3a//www.polskieradio.pl/st/program2.asx:Polska Radio Program 2 Culture
#DESCRIPTION Polska Radio Program 2 Culture
#SERVICE 4097:0:1:0:0:0:0:0:0:0:http%3a//www.polskastacja.pl/play/dzieciom.pls:PolskaStacja Dzieciom
#DESCRIPTION PolskaStacja Dzieciom
#SERVICE 4097:0:1:0:0:0:0:0:0:0:http%3a//www.polskastacja.pl/play/aac_francja.pls:PolskaStacja Muzyka Francuska
#DESCRIPTION PolskaStacja Muzyka Francuska
#SERVICE 4097:0:1:0:0:0:0:0:0:0:http%3a//www.polskastacja.pl/play/eden.pls:Radio Eden World Music
#DESCRIPTION Radio Eden World Music
#SERVICE 4097:0:1:0:0:0:0:0:0:0:http%3a//188.165.20.29%3a8750:Radio Pl Jazz
#DESCRIPTION Radio Pl Jazz

<   132.438851> poll: unhandled POLLERR/HUP/NVAL for fd 30(16)
<   132.439478> Buffering 100 percent done
<   132.441240> eServiceMP3::m_errorInfo.missing_codec = text/uri-list
<   132.441729> Gstreamer error: Your GStreamer installation is missing a plug-in. (12) from uridecodebin0
<   132.441943> Gstreamer error: Your GStreamer installation is missing a plug-in. (12) from uridecodebin0
<   132.442203> Gstreamer error: Internal data flow error. (1) from queue2-0

Edited by a4tech, 17 April 2015 - 23:12.


Re: GStreamer 1.0 #1049 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 17 April 2015 - 23:53

What does gst-inspect | grep m3u says on 0.10?
Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23.5E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

Re: GStreamer 1.0 #1050 a4tech

  • Senior Member
  • 39 posts

-2
Neutral

Posted 18 April 2015 - 07:39

What does gst-inspect | grep m3u says on 0.10?

It is pure gst 1.45

Checked on Vu+ and Xtrend

Edited by a4tech, 18 April 2015 - 07:40.


Re: GStreamer 1.0 #1051 Erik Slagter

  • PLi® Core member
  • 46,969 posts

+542
Excellent

Posted 18 April 2015 - 07:49

Merged master and applied.


* Wavefrontier T90 with 28E/23E/19E/13E via SCR switches 2 x 2 x 6 user bands
I don't read PM -> if you have something to ask or to report, do it in the forum so others can benefit. I don't take freelance jobs.
Ik lees geen PM -> als je iets te vragen of te melden hebt, doe het op het forum, zodat anderen er ook wat aan hebben.


Re: GStreamer 1.0 #1052 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 18 April 2015 - 08:05

What does gst-inspect | grep m3u says on 0.10?

It is pure gst 1.45

Checked on Vu+ and Xtrend


If you type "gst-inspect libxt" you will find that m3u is handled from libxt on 0.10.
 

# gst-inspect libxt
Factory Details:
  Long name:    Xtrend Web Media Parser Source
  Class:        Source/File
  Description:  Parse Web Media Files
  Author(s):    radxnl <radxnl@users.sourceforge.net>
  Rank:         primary (256)

Plugin Details:
  Name:                 libxt
  Description:          Xtrend Web Media Parser source
  Filename:             /usr/lib/gstreamer-0.10/libgstxt.so
  Version:
  License:              LGPL
  Source module:
  Binary package:       GStreamer
  Origin URL:           http://gstreamer.net/

GObject
 +----GstObject
       +----GstElement
             +----GstBaseSrc
                   +----GstPushSrc
                         +----GstLIBXTSrc

Implemented Interfaces:
  GstURIHandler

Pad Templates:
  SRC template: 'src'
    Availability: Always
    Capabilities:
      ANY


Element Flags:
  no flags set

Element Implementation:
  Has change_state() function: gst_base_src_change_state
  Has custom save_thyself() function: gst_element_save_thyself
  Has custom restore_thyself() function: gst_element_restore_thyself

Element has no clocking capabilities.
Element has no indexing capabilities.

URI handling capabilities:
  Element can act as source.
  Supported URI protocols:
    asx
    m3u
    pls
    youtube

Pads:
  SRC: 'src'
    Implementation:
      Has getrangefunc(): gst_base_src_pad_get_range
      Has custom eventfunc(): gst_base_src_event_handler
      Has custom queryfunc(): gst_base_src_query
      Has getcapsfunc(): gst_base_src_getcaps
      Has setcapsfunc(): gst_base_src_setcaps
      Has acceptcapsfunc(): gst_pad_acceptcaps_default
      Has fixatecapsfunc(): gst_base_src_fixate
    Pad Template: 'src'

Element Properties:
  name                : The name of the object
                        flags: readable, writable
                        String. Default: "libxtsrc0"
  blocksize           : Size in bytes to read per buffer (-1 = default)
                        flags: readable, writable
                        Unsigned Long. Range: 0 - 4294967295 Default: 4096
  num-buffers         : Number of buffers to output before sending EOS (-1 = unlimited)
                        flags: readable, writable
                        Integer. Range: -1 - 2147483647 Default: -1
  typefind            : Run typefind before negotiating
                        flags: readable, writable
                        Boolean. Default: false
  do-timestamp        : Apply current stream time to buffers
                        flags: readable, writable
                        Boolean. Default: false
There is no source available for libxt thus no m3u support for GStreamer 1.4.5

Edited by athoik, 18 April 2015 - 08:06.

Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23.5E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

Re: GStreamer 1.0 #1053 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 18 April 2015 - 09:14

Most probably MediaPlayer does the job of m3u parsing currenlty.

class MediaPlayer(Screen, InfoBarBase, InfoBarScreenSaver, InfoBarSeek, InfoBarAudioSelection, InfoBarCueSheetSupport, InfoBarNotifications, InfoBarSubtitleSupport, HelpableScreen):
        ALLOW_SUSPEND = True
        ENABLE_RESUME_SUPPORT = True

        def __init__(self, session, args = None):
....
                self.playlistparsers = {}
                self.addPlaylistParser(PlaylistIOM3U, "m3u")
So there is no m3u parser in GStreamer but in MediaPlayer.

Using GStreamer 0.10 it was possible to play m3u lists from bouquets? (and libxt is installed or not?)
Wavefield T90: 0.8W - 1.9E - 4.8E - 13E - 16E - 19.2E - 23.5E - 26E - 33E - 39E - 42E - 45E on EMP Centauri DiseqC 16/1
Unamed: 13E Quattro - 9E Quattro on IKUSI MS-0916

Re: GStreamer 1.0 #1054 mx3L

  • Senior Member
  • 616 posts

+79
Good

Posted 18 April 2015 - 09:27

Merged master and applied.

Thanks, please apply also athoik's patch from post #907:

0001-cleanup-gstreamer1.0-plugins-base.patch



Re: GStreamer 1.0 #1055 betacentauri

  • PLi® Core member
  • 7,185 posts

+323
Excellent

Posted 18 April 2015 - 09:28

Radxnl is Pli Core member. Perhaps he can build lib for gstreamer 1.4.5. Or better can provide the source code.
Xtrend ET-9200, ET-8000, ET-10000, OpenPliPC on Ubuntu 12.04

Re: GStreamer 1.0 #1056 mx3L

  • Senior Member
  • 616 posts

+79
Good

Posted 18 April 2015 - 10:11

non-sync is needed because a/v are not synced by gstreamer, but by the drivers. (gstreamer does not handle the playback, so it cannot keep a/v in sync by itself)
There is a huge buffer in between, and gstreamer should try to keep both a and v buffers filled at all times, instead of slowing either a or v down in order to keep them sync.

Using sync might seem to speed up the av-sync recovery, because the video decoder buffer will underflow, and the a/v decoders will try to re-sync as soon as new data arrives.

But in the long run sync mode will be worse, I expect a lot of buffer underruns (especially for video)

Maybe we could do our own one time synchronization of audio and video sink on SEGMENT event (PAUSED to PLAYING) in async mode, meaning that we would start writing audio/video in relatively same time, since now we start to write video few seconds sooner then audio, which results in video without audio for a few seconds after SEGMENT event.



Re: GStreamer 1.0 #1057 a4tech

  • Senior Member
  • 39 posts

-2
Neutral

Posted 18 April 2015 - 10:16

Most probably MediaPlayer does the job of m3u parsing currenlty.
 

class MediaPlayer(Screen, InfoBarBase, InfoBarScreenSaver, InfoBarSeek, InfoBarAudioSelection, InfoBarCueSheetSupport, InfoBarNotifications, InfoBarSubtitleSupport, HelpableScreen):
        ALLOW_SUSPEND = True
        ENABLE_RESUME_SUPPORT = True

        def __init__(self, session, args = None):
....
                self.playlistparsers = {}
                self.addPlaylistParser(PlaylistIOM3U, "m3u")
So there is no m3u parser in GStreamer but in MediaPlayer.

Using GStreamer 0.10 it was possible to play m3u lists from bouquets? (and libxt is installed or not?)

 

 

 

So it was working directly from channel list so there is not m3u parser.

 

I am going to check more about that.



Re: GStreamer 1.0 #1058 Erik Slagter

  • PLi® Core member
  • 46,969 posts

+542
Excellent

Posted 19 April 2015 - 08:58

Subject: [PATCH] cleanup gstreamer1.0-plugins-base

The is no reason to have .bbappend in official repos.
The idea behind .bbappend is to modify/override bb that belong to different repo.
Another usage is to make user modifications (eg meta-local).

Remove .bbappend, add cdparania PACKAGE config in base.inc, add patch from bbappend in base.bb.
Finally increase PR to force rebuild.

Applied.


* Wavefrontier T90 with 28E/23E/19E/13E via SCR switches 2 x 2 x 6 user bands
I don't read PM -> if you have something to ask or to report, do it in the forum so others can benefit. I don't take freelance jobs.
Ik lees geen PM -> als je iets te vragen of te melden hebt, doe het op het forum, zodat anderen er ook wat aan hebben.


Re: GStreamer 1.0 #1059 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 20 April 2015 - 05:16

 

Maybe we could do our own one time synchronization of audio and video sink on SEGMENT event (PAUSED to PLAYING) in async mode, meaning that we would start writing audio/video in relatively same time, since now we start to write video few seconds sooner then audio, which results in video without audio for a few seconds after SEGMENT event.

nonrun sync mode will be worse, I expect a lot of buffer underruns (especially for video)

 

Well i'm still bussy to try and find a solution.

 

If You used sink in video and audio, it actually only worked (at start only not for long videostarts to freeze after a couple of frames) cause audio did not received a segment , and then gstreamer covered by adding self a minimal time segment start pos 0.

 

The fact that video is launched before the audio , that is wrong. That is the cause from driver event which skips the first audio pts due to video not ready.

 

On state change from pauzed to play. Firts AUDIO_CONTINUE happens followed by VIDEO_CONTINUE. This should be the opposed way. (note the CONTINUE off both is happening whitin ns even lower). But it's enough to trigger the skip off first audio pts.

 

There must be somwhere a way in gstreamer to reverse these happenings. But I think the enigma2 only set that to auto which maybe works for modern drivers but not on dreambox. This must be set on audio for all media where audio decodes trough gstreamer.

 

If decoding happens from boxes on board codecs this problem will not arise.



Re: GStreamer 1.0 #1060 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 20 April 2015 - 06:45

I have done a bit of research and most modern Broadcom hardware will support PCM input at up to 24 bits @ 192kHz. Even if the hardware can not output that format, the DSPs will do either hi-fidelity sample rate conversion or a simple low-fidelity interpolation.

 

I guess that 24 bit and 192kHz would be good defaults for MAX settings. Specific boxes that have lower limitations should probably specify alternate values when configuring dvbmediasink.

Happy to see that I was not the only one that did that research.

Thank's





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users