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 #921 Erik Slagter

  • PLi® Core member
  • 46,951 posts

+541
Excellent

Posted 26 March 2015 - 18:18

I assume there is no authentication in PRSERVER with a purpose. It's better to implement no security at all than flaky security. You can run such a server over multiple hosts just fine, just use a vpn or ssh etc. "solution", which we know of are secure.


* 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 #922 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 29 March 2015 - 11:22

I'm currently bussy with rewriting the whole gstdtsdownmix. But based on dtsdec. Then the more recent convertions needed for High VQ streams will be taken into account.

 

But is there not anyway to avoid the parsing off all reciepes to build a single package ?.

 

When working on a single package that's completely unneeded , since anyway all depends are already ok. The parsing for all receipes is perfcet if you do a normal upgrade so what once a day. But it's to much overload and usseless overload for all other servers.

 

A good year or two ago we could use simply.

 

bitbake -b ...   .

Now anymore. We can use it until patch.  It will always fail in configure fase cause libtoolize is not run. And I gues the other needed ac related MACROS.

 

Or if there is a way to run bitbake (whitout -b but then exclude the recipes parsing , that will also be ok.)


Edited by christophecvr, 29 March 2015 - 11:24.


Re: GStreamer 1.0 #923 betacentauri

  • PLi® Core member
  • 7,185 posts

+323
Excellent

Posted 29 March 2015 - 12:12

I fixed it for local enigma2.bb (so that you can use -b ):
http://sourceforge.n...9924352b206f1d/
Perhaps you can use the same or something similar.

Edited by betacentauri, 29 March 2015 - 12:14.

Xtrend ET-9200, ET-8000, ET-10000, OpenPliPC on Ubuntu 12.04

Re: GStreamer 1.0 #924 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 29 March 2015 - 12:30

I'm currently bussy with rewriting the whole gstdtsdownmix. But based on dtsdec. Then the more recent convertions needed for High VQ streams will be taken into account.


Is there any improvement if you make use of dtsdec? The only improvement is the XRAW (instead LPCM) so it will be cheaper/faster (one convertion less).

Both dtsdec and dtsdownmix make use of libdca library. Unfortunatelly libdca is more or less piece of history, since there is no further developemt.

Changing to libav would make sense, because libav is under heavy development.

Also some benchmark (on ARM arch though) shown that libdca is slower than libav (http://www.compdigit...dec-benchmarks/ , https://mailman.vide...ry/001876.html)

Good luck with your project!

Edited by athoik, 29 March 2015 - 12:31.

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 #925 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 29 March 2015 - 13:15

@betacenturi  :)

 

Nice thank's I found a solutions . a bit hachish but after all it's only for temporary issue.

 

Just added to bb file

 

do_configure_prepend() {
    ln -s ${STAGING_DATADIR_NATIVE}/aclocal/*.m4 ${S}/m4/
}



Re: GStreamer 1.0 #926 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 29 March 2015 - 13:29

 

I'm currently bussy with rewriting the whole gstdtsdownmix. But based on dtsdec. Then the more recent convertions needed for High VQ streams will be taken into account.


Is there any improvement if you make use of dtsdec? The only improvement is the XRAW (instead LPCM) so it will be cheaper/faster (one convertion less).

Both dtsdec and dtsdownmix make use of libdca library. Unfortunatelly libdca is more or less piece of history, since there is no further developemt.

Changing to libav would make sense, because libav is under heavy development.

Also some benchmark (on ARM arch though) shown that libdca is slower than libav (http://www.compdigit...dec-benchmarks/ , https://mailman.vide...ry/001876.html)

Good luck with your project!

 

Yes there is an improvement. The high VQ streams are then running ok. They don't with the current gstdtsdownmix. That's cause the streams are not converted right. The needed code is present in libdca. In despit the fact it is old. And yes the output will be RAW F32LE. (needs to be added to base x-raw defines in format's possible strings , and the XRAW needs to be adapted for not only use S or U also F.

 

Thank's for the good luck gues I will need that. :P

 

It will not be ready tommorow but hpe I'll have it ok by the end of comming week. Especially now that I'm rid of etternal parsing for just a test build thank's to typ of Betacentauri.



Re: GStreamer 1.0 #927 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 31 March 2015 - 10:56

Ok now with dtsdownmix based on the plugin dtsdec, It works on dm8000.

What is done:

 

The dtsdec plugin reworked with a couple off changes, renamed so it does not conflict with the original one.

More info on gstreamer-plugin-multibox-dvbmediasink  testing branch.

 

https://github.com/c...commits/testing

 

Pay attention to note : openpli still uses libdca_0.0.5-5  . This needs to be updated to libdca_0.0.5-7

 

How to do that.

 

Rename libdca_0.0.5-5.bb to libdca_0.0.5-7.bb . This bb file is in map openpli-oe-core/meta-openpli/recipes-multimedia/vlc

 

Now it works excellent with mkv files using 6 channels DTS dolby 4.1 gues it will also be ok for the 5.1. (The test movie I received is with dolby 4.1)

 

Small hickups. Here some improvements to do.

- It takes time before audio stream starts playing. +- 30 to 60 sec. When it plays it's synchronized. That's ok.

- After pauzing sometimes the audio does not starts running anymore. Can be solved by yellow audio button. Go to stream (Set bar on stream You are using and push just ok). Then audio plays again after +- 30 sec.

 

Also it's best to reboot the box after You ugraded the dvbmediasink. (At this time it's only in my testing branch).



Re: GStreamer 1.0 #928 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 31 March 2015 - 11:35

In the mean time I merged testing into master.

 

https://github.com/c.../commits/master



Re: GStreamer 1.0 #929 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 31 March 2015 - 20:51

Pay attention to note : openpli still uses libdca_0.0.5-5  . This needs to be updated to libdca_0.0.5-7
 
How to do that.
 
Rename libdca_0.0.5-5.bb to libdca_0.0.5-7.bb . This bb file is in map openpli-oe-core/meta-openpli/recipes-multimedia/vlc


Just renaming the bb file is not enough. You should change the SRCREV also.

Moreover there is no change in the library code between tag 0.0.5-5 and 0.0.5-7. See http://anonscm.debia...libdca.git/log/

So it's hard to me to believe that libdca is related with any issue or needs to updated.

Now it works excellent with mkv files using 6 channels DTS dolby 4.1 gues it will also be ok for the 5.1. (The test movie I received is with dolby 4.1)


Please upload somewhere the test movie I want to test it also my self. Maybe we can find out what is wrong with orinal dtsdownmix (that is solved on dtsdec).

Currently the "rename" of dtsdec to dtsdownmix lack of features implemented at original dtsdownmix.

With original dtsdownmix pads are negotiating sometimes, with dtsdec pads are negotiating always. (GST_PAD_ALWAYS/GST_PAD_SOMETIMES)

With original dtsdownmix passthrough was possible, now setting passthrough option has no affect.

(And most probably the latter is related with the former).
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 #930 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 31 March 2015 - 23:28

1) Working with not upgraded lbdca did not worked out for high VQ stream. Once it was updated it worked.

 

2) passtrough has well effect but indeed some extra implements are needed, Indeed the plugin does not off load or load up on changing downmix from on to off and vice versa.

  Now You need to set downmix to off. Trough yellow button. Then stop the movie.(not pause but stop.) Then restart movie. It hooks in where You stopped the movie and then it plays in passtrough mode.

  To go back to downmix set downmix on trough yellow button, and same procedure stop movie . restart movie it hooks in where You stopped sound starts again after +- 10 to 30  sec.

  Whit other words, If You start the movie when downmix is off it does not load the plugin. Which is logic and plays in pass trough mode. If You then set downmix to on indeed plugin is not loaded which needs to be improved. But if You stop movie then start plugins loads downmix works.

 

On this extra implements I'll start working tommorow.



Re: GStreamer 1.0 #931 MastaG

  • Senior Member
  • 1,531 posts

+118
Excellent

Posted 1 April 2015 - 15:04

great work christophecvr :)



Re: GStreamer 1.0 #932 adri

  • Senior Member
  • 372 posts

+5
Neutral

Posted 1 April 2015 - 17:33

Hopefully the initial wait of 10 to 30 seconds before sounds starts playing can also be reduced.

And I would certainly like the pass-through to work properly.

I normally listen to DTS via my AV receiver using an S/PDIF connection.


Edited by adri, 1 April 2015 - 17:34.


Re: GStreamer 1.0 #933 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 1 April 2015 - 17:59

Yes I now. still working on it



Re: GStreamer 1.0 #934 pieterg

  • PLi® Core member
  • 32,766 posts

+245
Excellent

Posted 1 April 2015 - 20:04

Those issues have been addressed in gstdtsdownmix, a long time ago.

Wouldn't it be easier to just use gstdtsdownmix, rather than building a new dtsdownmix element?



Re: GStreamer 1.0 #935 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 2 April 2015 - 01:38

Well I just tested a couple off things with the dtsdownmix from trunk.

 

First for mkv with modern sound, sound is horrible . You become nut's after a couple off minuts. It's broken cracking with back echo's.

Second the time sound starts playing idem as with the new I made. There also it takes between 10 to 60 seconds . Why that's a question.

Third it also does not react at all on downmix on or off. There as well You need to stop the movie (not pause but stop) and restart movie before changes take effect.

 

This does mean That.

 

The new dtsdownmix I made based x-raw F32LE .

Sequence :  DTS->DECODE->CONVERT-TO-F32LE->CONVERT-TO-S32LE  (I tried to do it at once but not possible by the way gstreamer1.0-libav does it in same sequence for that type of audio stream)

 

Has the same issues like the old dtsdownmix. Except the first one , the sound is very good.

 

Off course I'm still trying to find a solution to that bloody delay and if possible a way to stop the plugin up on change from downmix on to off and visa versa but it also does not work on old plugin.



Re: GStreamer 1.0 #936 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 2 April 2015 - 12:57

For those who are interested , I pushed a commit in my testings branch

 

https://github.com/c...nk/tree/testing

 

It's not a lot. Just and adaptation from latency. Now the delay before start is a little less.

 

The rest some preparation works , But nothing actif yet.



Re: GStreamer 1.0 #937 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 2 April 2015 - 16:22

The only reason that F32L to S32L might produce better sound is because audioconvert by default uses dithering [DITHER_TPDF Triangular dithering (default)]

See: http://gstreamer.fre...dioconvert.html

Anyone know how triangular dithering works? Maybe we can enhance existing dtsdownmix that has everything working.
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 #938 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 2 April 2015 - 18:01

The only reason that F32L to S32L might produce better sound is because audioconvert by default uses dithering [DITHER_TPDF Triangular dithering (default)]

See: http://gstreamer.fre...dioconvert.html

Anyone know how triangular dithering works? Maybe we can enhance existing dtsdownmix that has everything working.

That can be if someone can , why not.

 

But current dtsdownmix  in gst-1.0 does not work any better for the rest

 

1) The change from downmix on to off inop . Unless You stop and restart movie after a change then ok between passtrough or downmix . Exact the same issue with the one I made.

2) The start off sound playing that it takes 10 to 60 seconds same for both. However I'm so what shure that this last has nothing to do with the dtsdownmix , is a driver issue.

 

3) Unless someone could fixe dithering ?? questionable if it will solve since problem lays on the High VQ stream and for those streams we exceeding all buffers Unless we set format on 32 bits.

    Everywhere where a saw this kind off stream handled, they use format 32 bits.

 

Ter info I just merged testing to master. There I added the same like they did in dvbelite (only for dreambox). Clock time only may happen after a written.

Now it's still not perfect but instead off delay on start between 10 to 60 seconds . Its now between 5 to 20 seconds.

Especially after a pause sound starts much faster then before. After spooling forward or backwards idem sound starts much faster now.

https://github.com/c.../commits/master



Re: GStreamer 1.0 #939 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 2 April 2015 - 19:35


DVD Audio supports 20 and 24 bit (http://en.wikipedia....Audio_bit_depth, http://wiki.multimed...PCM#24-Bit_PCM)

If Dreambox drivers support 20 and/or 24 bit most probably the extra bits will store more information than 16 bit and will get better sound.
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 #940 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 3 April 2015 - 16:28

I came already a bit further.

Now event handling in dtsdownmix of me is ok. I in the mean time I merged my testing to master.

 

I added a extra printf to monitor event occurence. Those lines are commented (//) . Other devellopers willing to participate in devellopement of dvbmediasink for gst-1.0 can always uncomment them, then they able to monitor the vents with gst-launch-1.0.

 

Also a hint as for how to do to have those printf into enigma log if You play trough enigma and not with gst-launch-1.0 tool. That would be very helpfull and can lead me to the key to solve the start delay on DTS downmixed stream.

 

The last master branch :

 

https://github.com/c.../commits/master

 

Does now have the event handling for dtsdownmix.

 

 

Event handling on dtsdownmix implemented

christophecvr authored 27 minutes ago
 Now the event handling is ok for sink and src by dtsdownmix.
 I added special commented line to be able to monitor event occurence.
 Those who want to help in developpemnt can uncomment them.
 Based on that and hopefully a couple if ideas from other devellopers,
 We can solve sync delay issues on Dreambox.
 A hint as for how to also show those printf in enigma2 log verry welcome.

 Changes:
	modified:   gstdtsdownmix.c
	modified:   gstdvbaudiosink.c




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users