←  [EN] Third-Party Development

Forums

»

GStreamer 0.10 no longer maintained

's foto betacentauri 26 jun 2013

Strange. I didn't had these problems perhaps because I have compiled parallel (> 8 threads) or it is box dependent (I have a et9200).
Citeren

's foto athoik 26 jun 2013

Strange. I didn't had these problems perhaps because I have compiled parallel (> 8 threads) or it is box dependent (I have a et9200).

 

Nope, i think the problem has to do with automake gettext.

 

There is a solution here http://patchwork.ope...rg/patch/16269/

 

Probably we need something like that:

 

do_configure_prepend() {
        autopoint || touch config.rpath
	# This m4 file contains nastiness which conflicts with libtool 2.2.2
	rm -f ${S}/m4/lib-link.m4
}

 

http://sourceforge.n...se_0.10.36.1.bb

Citeren

's foto athoik 28 jun 2013

Fresh compilation now succeeds with those changes: http://sourceforge.n...be8e9bd997a218/

 

Thanks pieterg.

Citeren

's foto salimda 29 jun 2013

hello

strange I cannot play stream with playlist m3u8

here is  http://96.44.147.10:.../playplist.m3u8

 

I m using latest gstreamer

thanks

Citeren

's foto athoik 29 jun 2013

Sequences in this playlist are encrypted.

 

The only possible way i know, is to install GreekStreamTV (latest is 2.9) and additionally python-pycrypto in order to play those.

 

If you are more adventurous: 

 

1. backport latest hlsdemux to 0.10 gstreamer (enigma2 uses version 0.10) http://lists.freedes...rch/070049.html

 

2. upgrade enigma2 gstreamer to version 1.0.X

Citeren

's foto salimda 30 jun 2013

hi

still this stream not working m3u8 but some stream working fine like http://141.8.244.56:...m/manifest.m3u8

not working like http://96.44.147.10:.../playplist.m3u8 with codec h264- mpeg4 avc

you can check to see why some working ,not working

thanks

Citeren

's foto athoik 30 jun 2013

hi

still this stream not working m3u8 but some stream working fine like http://141.8.244.56:...m/manifest.m3u8

not working like http://96.44.147.10:.../playplist.m3u8 with codec h264- mpeg4 avc

you can check to see why some working ,not working

thanks


All ready answered:

 

Sequences in this playlist are encrypted.

 

The only possible way i know, is to install GreekStreamTV (latest is 2.9) and additionally python-pycrypto in order to play those.

 

If you are more adventurous: 

 

1. backport latest hlsdemux to 0.10 gstreamer (enigma2 uses version 0.10) http://lists.freedes...rch/070049.html

 

2. upgrade enigma2 gstreamer to version 1.0.X

Citeren

's foto betacentauri 1 jul 2013

In another forum biki3 told me that he has problems with mkv with ac3 and aac tracks. If you start with ac3 you can hear sound. Then switch to aac (which also works) and then back to ac3. Then you cannot here anything. If you start with aac track (works) and switch to ac3, you cannot hear anything.

- I can confirm this and also atoik (I have a et9200 and athoik I think has a dreambox). So different hardware and I think no driver issue.

- The problem is present with ac3 downmix on and off.
- You can see in the log, that ioctl(self->fd, AUDIO_SET_BYPASS_MODE, bypass) is called everytime you switch the track:

 

0:03:52.145898102  1535 0x7136dc38 INFO            dvbaudiosink gstdvbaudiosink.c:992:gst_dvbaudiosink_set_caps:<dvbaudiosink1> setting dvb mode 0x0b
0:03:59.398249619  1535 0x7136dc38 INFO            dvbaudiosink gstdvbaudiosink.c:992:gst_dvbaudiosink_set_caps:<dvbaudiosink1> setting dvb mode 0x00
0:04:06.863791692  1535 0x7136dc38 INFO            dvbaudiosink gstdvbaudiosink.c:992:gst_dvbaudiosink_set_caps:<dvbaudiosink1> setting dvb mode 0x0b
0:04:22.729940911  1535  0x1d47d88 INFO            dvbaudiosink gstdvbaudiosink.c:992:gst_dvbaudiosink_set_caps:<dvbaudiosink2> setting dvb mode 0x00

  This seems also not the problem. (I only wonder why enigma2 dvb decoder uses 8 as bypass for aac and dvb audiosink 0x0b).

 

- I looked at the gstreamer pipeline graphs (see attachments; use xdot to view files). This also looks good to me:

  1. Start with working ac3 sound: player_1_1_ac3.dot
  2. Switch to aac: player_1_2_aac.dot
  3. Switch back to ac3: player_1_3_ac3.dot

 

- If I passthrough the ac3 signal to my receiver, the receiver doesn't recognise ac3 (after switch from aac to ac3). So it seems, that no or no valid data is passed to the receiver.

 

You can download here a testfile: http://forums.macrum...d.php?t=1494608

 

Does anybody have an idea, what the problem is and how to solve it?

Bijgevoegde Bestanden

Citeren

's foto pieterg 1 jul 2013

I only wonder why enigma2 dvb decoder uses 8 as bypass for aac and dvb audiosink 0x0b

8 = AAC
12 = AAC ADTS
Citeren

's foto betacentauri 1 jul 2013

Hi pieterg,

thanks for the info. Is there somewhere a list of supported values? I didn't find one.

And do you have an idea how to fix the problem or where to look at?
Citeren

's foto pieterg 1 jul 2013

there is no list, only the assembled info from e2 and dvbaudiosink ;)

In the past, I've noticed that gstreamer refuses to modify the pipeline when caps are re-negotiated.
Or, it would reconfigure the pipeline, but refused to load additional libraries.
So only elements which had already loaded, could be used in the new pipeline.

This might be a similar issue.

Does the aac adts track work, when it is the first one to be used?
(you need a bit of luck there, switch to the right track, stop playback, start it, and every once in a while it will start with the right track)
Citeren

's foto betacentauri 1 jul 2013

The AAC track works always. The ac3 works only if it is running right after playback start and only until the first switch. So switching from ac3 to AAC and then back to ac3 then you hear nothing.

The pipeline looks good and seems to be reconfigured while switching tracks(see dot files).
Veranderd door betacentauri, 1 juli 2013 - 19:51
Citeren

's foto athoik 1 jul 2013

Yes, i have the same behavior on dm800se, when AAC or AC3 is selected it plays without problem. But after switching to AAC and back to AC3 you get no sound. Or if you switch to AC3 from AAC again you get no sound.

 

Here is another sample with the same behavior.

 

 

PS. Prefer AC3 has no affect on Gstreamer? (config.autolanguage.audio_defaultac3=true)


Veranderd door athoik, 1 juli 2013 - 20:12
Citeren

's foto pieterg 1 jul 2013

PS. Prefer AC3 has no affect on Gstreamer? (config.autolanguage.audio_defaultac3=true)

indeed, that setting only affects the selection of audio tracks from the PMT.
Citeren

's foto betacentauri 3 jul 2013

Hi together,

my et-9200 hardware(and I suggest the hw of all boxes) only supports AAC with LC profile. Main and SSR profiles are not supported.
So currently if these profiles are used in a mkv you can see video and hear no audio.
I have created a patch to enable playback of all gstreamer supported AAC profiles. In case of Main or SSR profile, the audio is decoded by gstreamer software decoder (this costs around 10% CPU time).

1. Patch: 0001-Set-only-by-hardware-supported-audio-mpeg-4-profile.patch.txt
This is for gst-plugin-dvbmediasink. It sets mpeg capabilities to "profile = lc". With this only AAC audio with LC profile will be decoded by the hardware. This only affects mpeg4 audio playback and not mpeg 1 or 2 playback.

2. Patch: 0001-Add-faad-gstreamer-plugin.patch.txt
This patches Openpli Oe Core. In gst-plugins-bad faad plugin is build and will be delivered in the image. Also faad rank is lowered to prevent using software decoder, when hardware decoding is possible.

3. Patch: 0001-Set-audio-profile-caps-field-for-aac-audio-in-mkvs.patch.txt
This patches Openpli Oe Core. For mkv's the recognized profile was not included in the caps. Without profile information dvbmediasink is used for all mpeg4 audio even if it cannot handle it. I created a patch, which was included in the latest gstreamer 1.x git version. So the patch seems to be correct. https://bugzilla.gno...g.cgi?id=703312

 

I have compiled a complete new image without problems. All my testfiles work.

 

I have one question to pli team: I have included libfaad.so.2.0.0 and libgstfaad.so in the image. These 2 files take around 290kb. Should I revert this, because there are boxes with little flash memory?

I included the files, because if you want to playback media files with e.g. AAC main profile it won't work (no video and no audio) and the user gets no proper error message and so he don't know that he needs to install these 2 libs.

 

@Dima73: This solves the problem with your mkv file.

Bijgevoegde Bestanden

Citeren

's foto Dimitrij 3 jul 2013

@Dima73: This solves the problem with your mkv file.

Thank you very much.
From all users openPli.

Citeren

's foto pieterg 3 jul 2013

I have one question to pli team: I have included libfaad.so.2.0.0 and libgstfaad.so in the image. These 2 files take around 290kb. Should I revert this, because there are boxes with little flash memory?

No, should be fine I think.
If it's only 300kB.

Thanks for the patches, I've pushed them
Citeren

's foto betacentauri 3 jul 2013

That was quick. Thanks!

Citeren

's foto athoik 3 jul 2013

Great job betacentauri!

 

 

I think we need to create a patch for Dreamboxes too, because they are making use of gst-plugin-dreambox-dvbmediasink.

Citeren

's foto betacentauri 3 jul 2013

Hi athoik,

 

you can try to change this:

188 static GstStaticPadTemplate sink_factory_broadcom_dts =
 189 GST_STATIC_PAD_TEMPLATE (
 190         "sink",
 191         GST_PAD_SINK,
 192         GST_PAD_ALWAYS,
 193         GST_STATIC_CAPS (
 194                 X_RAW_INT(8,8)
 195                 X_RAW_INT(16,16)
 196                 X_RAW_INT(24,24)
 197                 X_RAW_INT(32,24)
 198                 X_RAW_INT(32,32)
 199                 "audio/mpeg; "
 200                 "audio/x-ac3; "
 201                 "audio/x-private1-ac3; "
 202                 "audio/x-dts; "
 203                 "audio/x-private1-dts; "
 204                 "audio/x-private1-lpcm; "
 205                 "audio/x-wma")
 206 );

into this:

188 static GstStaticPadTemplate sink_factory_broadcom_dts =
 189 GST_STATIC_PAD_TEMPLATE (
 190         "sink",
 191         GST_PAD_SINK,
 192         GST_PAD_ALWAYS,
 193         GST_STATIC_CAPS (
 194                 X_RAW_INT(8,8)
 195                 X_RAW_INT(16,16)
 196                 X_RAW_INT(24,24)
 197                 X_RAW_INT(32,24)
 198                 X_RAW_INT(32,32)
 199                 "audio/mpeg, profile = (string) lc; "
 200                 "audio/x-ac3; "
 201                 "audio/x-private1-ac3; "
 202                 "audio/x-dts; "
 203                 "audio/x-private1-dts; "
 204                 "audio/x-private1-lpcm; "
 205                 "audio/x-wma")
 206 );

If that works, you can build a patch easily.

Citeren