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

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 22 March 2015 - 00:30

Well yes it was trough gst-libav. Whitout it indeed no sound att all.



Re: GStreamer 1.0 #882 MastaG

  • Senior Member
  • 1,531 posts

+118
Excellent

Posted 22 March 2015 - 01:06

So dts downmix is broken for dreambox receivers, unless we install ffmpeg (which is quite flash-unfriendly and a bit unstable).

Do other receivers like vu and xtrend handle dts downmix in hardware then?

If we would ommit support for dts downmix then will it still be passed trough hdmi? (so a dts capable receiver would decode it)

And last question, are there any dvb channels with dts audio on them?



Re: GStreamer 1.0 #883 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 22 March 2015 - 06:13

At the moment its' only dts downmix for mkv video's and some other ts2 files with dts audio

 

For dvb, downmix is ok. As long as the ac3 patch to servicesmp3.cpp off enigma 2 is applied. Also own recorder movies with ac3 is ok.

 

For the mkv files it's not really broken , it never worked with gst-1.0. But still trying to find the a solution for the missing item in dtsdownmix.c for gst-1.0



Re: GStreamer 1.0 #884 MastaG

  • Senior Member
  • 1,531 posts

+118
Excellent

Posted 23 March 2015 - 10:46

Ah I see, thanks for clearing it up christophecvr.

So it only applies to dts being used in external movies (like mkv).

Why is it only broken for dreambox receivers then?



Re: GStreamer 1.0 #885 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 23 March 2015 - 14:43

Ah I see, thanks for clearing it up christophecvr.

So it only applies to dts being used in external movies (like mkv).

Why is it only broken for dreambox receivers then?

Thta's a good question. Has always been like that for dm. But I gues it's just that dts codecs are not avbl. (ac3 and ac3+ are well avbl).



Re: GStreamer 1.0 #886 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 23 March 2015 - 19:06

Why is it only broken for dreambox receivers then?


It is not broken at all. Actually DTS was never implemented in hardware drivers, so for Dreamboxes software downmix is used.

The plugin responsible for software downmix needs extra porting changes in order to work with GStreamer 1.0

Q: Why DTS never implemented
A: Most probably because they refuse to pay the licenses to Broadcom.

Q: Why Other boxes have this implemented
A: Because they can :P
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 #887 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 23 March 2015 - 20:05

Subject: [PATCH] dtsdownmix: fix caps negotiation for GStreamer 1.0

dtsdowmix did not worked on GStreamer 1.0 because caps did not negotiate.
In order to negotiate caps on GStreamer 1.0 we need to handle missing GST_EVENT_CAPS sink event.

diff --git a/gstdtsdownmix.c b/gstdtsdownmix.c
index 4c03277..4f3d6f4 100644
--- a/gstdtsdownmix.c
+++ b/gstdtsdownmix.c
@@ -11,6 +11,8 @@
 
 #include "gstdtsdownmix.h"
 
+static gboolean get_downmix_setting();
+
 GST_DEBUG_CATEGORY_STATIC(dtsdownmix_debug);
 #define GST_CAT_DEFAULT (dtsdownmix_debug)
 
@@ -155,6 +157,23 @@ static gboolean gst_dtsdownmix_sink_event(GstPad * pad, GstObject *parent, GstEv
 
 			gst_segment_set_newsegment(&dts->segment, update, rate, format, start, end, pos);
 #else
+		case GST_EVENT_CAPS:
+			if (!get_downmix_setting())
+			{
+				ret = FALSE;
+			}
+			else if (dts->srcpad)
+			{
+				GstCaps *caps;
+				GstCaps *srccaps = gst_caps_from_string("audio/x-private1-lpcm, framed =(boolean) true");
+
+				gst_event_parse_caps(event, &caps);
+				ret = gst_pad_set_caps(dts->srcpad, srccaps);
+
+				gst_caps_unref(srccaps);
+				gst_event_unref(event);
+			}
+			break;
 		case GST_EVENT_SEGMENT:
 		{
 			gst_event_copy_segment(event, &dts->segment);
@@ -185,7 +204,7 @@ static gboolean gst_dtsdownmix_sink_event(GstPad * pad, GstObject *parent, GstEv
 			}
 			break;
 		case GST_EVENT_FLUSH_STOP:
-      if (dts->cache) 
+			if (dts->cache)
 			{
 				gst_buffer_unref(dts->cache);
 				dts->cache = NULL;
-- 
@OpenPLi please apply on dvbmediasink gst-1.0 branch, it fixes the DTS downmix (tested on my dm800se).

Attached File  0001-dtsdownmix-fix-caps-negotiation-for-GStreamer-1.0.patch   1.62KB   11 downloads

@OpenPLi please also commit patches from #861 (http://forums.openpl...-44#entry482518)
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 #888 babsy98

  • Senior Member
  • 166 posts

+18
Neutral

Posted 23 March 2015 - 20:55

a cool i check this too thanks for the info



Re: GStreamer 1.0 #889 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 23 March 2015 - 22:33

@athoik great. On dm8000 it work's. Well a bit garbled sound it looks like it is overmodulated.

 

I added it to

 

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



Re: GStreamer 1.0 #890 MastaG

  • Senior Member
  • 1,531 posts

+118
Excellent

Posted 24 March 2015 - 00:15

Thanks a lot for the patch athoik!

 

 

 

Why is it only broken for dreambox receivers then?


It is not broken at all. Actually DTS was never implemented in hardware drivers, so for Dreamboxes software downmix is used.

The plugin responsible for software downmix needs extra porting changes in order to work with GStreamer 1.0

Q: Why DTS never implemented
A: Most probably because they refuse to pay the licenses to Broadcom.

Q: Why Other boxes have this implemented
A: Because they can :P

 

 

So due to licensing dreambox receivers will not decode DTS audio in hardware and dowmixing is done by gstreamer on the CPU right?

But if I turn off downmixing and hook up my dm800se to my dts-capable receiver (using optical cable or hdmi), then will it still pass-trough?



Re: GStreamer 1.0 #891 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 24 March 2015 - 00:28

No, because for passthrough drivers do the "timing" part.

Edited by athoik, 24 March 2015 - 00:28.

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 #892 malakudi

  • Senior Member
  • 1,449 posts

+69
Good

Posted 24 March 2015 - 11:51

DM8000 can decode DTS in hardware. Only DM800/800SE/500HD need the software DTS downmix.



Re: GStreamer 1.0 #893 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 24 March 2015 - 12:18

DM8000 can decode DTS in hardware. Only DM800/800SE/500HD need the software DTS downmix.

I tried it , but no sound



Re: GStreamer 1.0 #894 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 24 March 2015 - 12:20

DTS Passthough...

http://www.dreambox-blog.com/index.php/1757/dts-jetzt-endlich-auch-fuer-die-dm8000
 
There is room for everyone with the MKV format have busy waiting for: 
DTS will now work with the Dreambox - at least with the DM8000.  
So far, always had to be converted to AC3 in MKV container format, 
the DTS audio track, so that the film was run. 

With the new shared drivers Dreambox can finally DTS bypass (DTS passthrough) 
and you get so enjoy a super image (with the MKV format can be customized with the DM8000 
and DM800 watch movies in 1080p24) in conjunction with a super tone.  
All the necessary information on the required for the DTS audio packets has ibrahim IhaD board together. 
A corresponding thread also exists in Dreamboard.

Edited by athoik, 24 March 2015 - 12:21.

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 #895 adri

  • Senior Member
  • 373 posts

+5
Neutral

Posted 24 March 2015 - 12:25

No, because for passthrough drivers do the "timing" part.

With DMM OE2.0 or OpenATV 4.2, my DM8000 will pass DTS digital audio to the S/PDIF connector.

My receiver says DTS is received and play sound without any problem.



Re: GStreamer 1.0 #896 malakudi

  • Senior Member
  • 1,449 posts

+69
Good

Posted 24 March 2015 - 12:58

I am pretty sure DM8000 can do DTS downmix (it can also do passthrough) without any software plugin. It did a few years ago when I reviewed it for the magazine I write. The closed source plugin that was released with newnigma initialy was only to enable downmix on DM800SE, DM500HD.



Re: GStreamer 1.0 #897 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 24 March 2015 - 13:32

So DM8000 (and old dm800???) can pass DTS digital audio to the S/PDIF.

 

Setting "downmix off" does it work with GStreamer 1.0 on Dreambox boxes that support passthrough?

 

I don't have amplifier so I can't test if dm800se can do passthough.

 

Finally it would be nice to fill this information under "Miscellaneous" on wiki comparison http://wiki.openpli.org/comparison


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

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 24 March 2015 - 14:03

I am pretty sure DM8000 can do DTS downmix (it can also do passthrough) without any software plugin. It did a few years ago when I reviewed it for the magazine I write. The closed source plugin that was released with newnigma initialy was only to enable downmix on DM800SE, DM500HD.

Pas trough. Yes that it can no problem. But it does not downmix. DTS bypass 2 (rate 48000)or DTS HD Bypass 10(rate 96000).   Downmix Off ac3 bypass 0 OK Downmix off ac3+ ok (after patch to set bypass 7 instead off pli's bypass 22).

 

I have received an mkv from somebody. Futher anylizes showed that if You downmix the w-raw format needed = format 32LE rate 48000 channels 6. Now the downmix works but it uses LPCM (I gues the L comes from light ?) . It can only handle 16LE . That's why we have that garbled result in sound. LPCM bypass 6 is downmixed. 

 

What could maybe be done is use the broadcom codecs for DTS then query the caps to obtain the upstream format,rate and channels. Downmix using the gstreamer meta (just a matrix is required) To a downstream fixed x-raw using the format,rate and channels obtained upstream. Send to bypass 0xf (on dreambox).



Re: GStreamer 1.0 #899 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 24 March 2015 - 14:06

So DM8000 (and old dm800???) can pass DTS digital audio to the S/PDIF.

 

Setting "downmix off" does it work with GStreamer 1.0 on Dreambox boxes that support passthrough?

 

I don't have amplifier so I can't test if dm800se can do passthough.

 

Finally it would be nice to fill this information under "Miscellaneous" on wiki comparison http://wiki.openpli.org/comparison

I also unfortunately do not have an spdif capable amp. But I now from others that by dm8000 it works perfect if You have such amp.



Re: GStreamer 1.0 #900 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 24 March 2015 - 14:29

@athoik,

 

I just for try created a testing branch in my dvbmediasink plugin.

 

There I started to remove all gst-0.10 code . In first fase I just did the audio module. And the code delimited by #ifdef gst-major < 1 ...... 

The second step will be to replace still used older function like get-caps for example. An set it with query caps. And ... there is more.

 

This at the end should result in a more performant dvbmediasink and easier to maintain. With les code.

 

The first removing I did is ok and tested no problems at runtime and no any compile warning.

 

For me it's also my debute with c++ and I was not an expert with c. so .... . We learn each day. :P

 

If You're interested

 

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





2 user(s) are reading this topic

0 members, 2 guests, 0 anonymous users