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 #1241 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 2 May 2015 - 18:59

@mx3L,

 

With my patch applied I get no errors any more! Both are working now.

gst-launch-1.0 playbin uri=http://megahdlive1-f.akamaihd.net/i/live_1@105260/master.m3u8 flags=0x617
gst-launch-1.0 playbin uri=http://megahdlive1-f.akamaihd.net/i/live_1@105260/master.m3u8 flags=0x657

Edit1. Although adding only flags=0x57 seems better.

# GST_DEBUG=playsinkvideoconvert:6,playsinkconvertbin:4 gst-launch-1.0 playbin uri=http://megahdlive1-f.akamaihd.net/i/live_1@105260/master.m3u8 flags=0x57
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:02.184918852  2024 0x76642090 INFO      playsinkconvertbin gstplaysinkconvertbin.c:558:gst_play_sink_convert_bin_cache_converter_caps:<GstPlaySinkAudioConvert@0x75d0c270> No conversion elements
0:00:02.294275111  2024 0x76642090 INFO      playsinkconvertbin gstplaysinkconvertbin.c:571:gst_play_sink_convert_bin_cache_converter_caps:<aconv> Converter caps: audio/x-raw, format=(string){ F32LE, F64LE, S32LE, S24LE, S16LE, S8 }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved; audio/x-raw, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, channels=(int)[ 1, 2147483647 ]
0:00:02.310116741  2024 0x76642090 INFO      playsinkconvertbin gstplaysinkconvertbin.c:571:gst_play_sink_convert_bin_cache_converter_caps:<aconv> Converter caps: audio/x-raw, format=(string){ F32LE, F64LE, S32LE, S24LE, S16LE, S8 }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved; audio/x-raw, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, channels=(int)[ 1, 2147483647 ]
WARNING: from element /GstPlayBin:playbin0/GstPlaySink:playsink: No volume control found
Additional debug info:
/opt/openpli/openpligst/build/tmp/work/mips32el-oe-linux/gstreamer1.0-plugins-base/1.4.5.25+gitAUTOINC+6af56187e8-r2/git/gst/playback/gstplaysink.c(2861): gen_audio_chain (): /GstPlayBin:playbin0/GstPlaySink:playsink:
Volume/mute is not available
Prerolled, waiting for buffering to finish...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Buffering, setting pipeline to PAUSED ...
Done buffering, setting pipeline to PLAYING ...
Buffering, setting pipeline to PAUSED ...
Done buffering, setting pipeline to PLAYING ...
Buffering, setting pipeline to PAUSED ...
Done buffering, setting pipeline to PLAYING ...
Buffering, setting pipeline to PAUSED ...
Done buffering, setting pipeline to PLAYING ...
Buffering, setting pipeline to PAUSED ...
Done buffering, setting pipeline to PLAYING ...
Buffering, setting pipeline to PAUSED ...
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:06.429153332
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
 
 
# GST_DEBUG=playsinkvideoconvert:6,playsinkconvertbin:4 gst-launch-1.0 playbin uri=http://megahdlive1-f.akamaihd.net/i/live_1@105260/master.m3u8 flags=0x657
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:02.158023628  2052 0x75c421b0 DEBUG   playsinkvideoconvert gstplaysinkvideoconvert.c:55:gst_play_sink_video_convert_add_conversion_elements:<GstPlaySinkVideoConvert@0x7c2c98> Building video conversion with use-converters 0, use-balance 0
0:00:02.158932554  2052 0x75c421b0 INFO      playsinkconvertbin gstplaysinkconvertbin.c:558:gst_play_sink_convert_bin_cache_converter_caps:<GstPlaySinkVideoConvert@0x7c2c98> No conversion elements
0:00:02.159492369  2052 0x75c421b0 LOG     playsinkvideoconvert gstplaysinkvideoconvert.c:122:gst_play_sink_video_convert_set_property:<vconv> locking from thread 0x75c421b0
0:00:02.159930665  2052 0x75c421b0 LOG     playsinkvideoconvert gstplaysinkvideoconvert.c:122:gst_play_sink_video_convert_set_property:<vconv> locked from thread 0x75c421b0
0:00:02.160434962  2052 0x75c421b0 LOG     playsinkvideoconvert gstplaysinkvideoconvert.c:150:gst_play_sink_video_convert_set_property:<vconv> unlocking from thread 0x75c421b0
0:00:02.161937517  2052 0x75c421b0 LOG     playsinkvideoconvert gstplaysinkvideoconvert.c:122:gst_play_sink_video_convert_set_property:<vconv> locking from thread 0x75c421b0
0:00:02.162409592  2052 0x75c421b0 LOG     playsinkvideoconvert gstplaysinkvideoconvert.c:122:gst_play_sink_video_convert_set_property:<vconv> locked from thread 0x75c421b0
0:00:02.162734517  2052 0x75c421b0 DEBUG   playsinkvideoconvert gstplaysinkvideoconvert.c:144:gst_play_sink_video_convert_set_property:<vconv> Rebuilding converter bin
0:00:02.164963184  2052 0x75c421b0 DEBUG   playsinkvideoconvert gstplaysinkvideoconvert.c:55:gst_play_sink_video_convert_add_conversion_elements:<vconv> Building video conversion with use-converters 0, use-balance 1
0:00:02.165512443  2052 0x75c421b0 INFO      playsinkconvertbin gstplaysinkconvertbin.c:558:gst_play_sink_convert_bin_cache_converter_caps:<vconv> No conversion elements
0:00:02.165918073  2052 0x75c421b0 LOG     playsinkvideoconvert gstplaysinkvideoconvert.c:150:gst_play_sink_video_convert_set_property:<vconv> unlocking from thread 0x75c421b0
0:00:02.187603184  2052 0x75c421b0 INFO      playsinkconvertbin gstplaysinkconvertbin.c:558:gst_play_sink_convert_bin_cache_converter_caps:<GstPlaySinkAudioConvert@0x7c2df0> No conversion elements
0:00:02.262669480  2052 0x75c421b0 INFO      playsinkconvertbin gstplaysinkconvertbin.c:571:gst_play_sink_convert_bin_cache_converter_caps:<aconv> Converter caps: audio/x-raw, format=(string){ F32LE, F64LE, S32LE, S24LE, S16LE, S8 }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved; audio/x-raw, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, channels=(int)[ 1, 2147483647 ]
0:00:02.269522555  2052 0x75c421b0 INFO      playsinkconvertbin gstplaysinkconvertbin.c:571:gst_play_sink_convert_bin_cache_converter_caps:<aconv> Converter caps: audio/x-raw, format=(string){ F32LE, F64LE, S32LE, S24LE, S16LE, S8 }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved; audio/x-raw, rate=(int)[ 1, 2147483647 ], layout=(string)interleaved, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, channels=(int)[ 1, 2147483647 ]
WARNING: from element /GstPlayBin:playbin0/GstPlaySink:playsink: No volume control found
Additional debug info:
/opt/openpli/openpligst/build/tmp/work/mips32el-oe-linux/gstreamer1.0-plugins-base/1.4.5.25+gitAUTOINC+6af56187e8-r2/git/gst/playback/gstplaysink.c(2861): gen_audio_chain (): /GstPlayBin:playbin0/GstPlaySink:playsink:
Volume/mute is not available
Prerolled, waiting for buffering to finish...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Buffering, setting pipeline to PAUSED ...
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:09.885792814
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

PS. @mx3L, good that you find flags usage. I think now we have almost all pieces of the puzzle.

 

 

 

Edit1. Here is the GStreamer bug: https://bugzilla.gno...g.cgi?id=748809


Edited by athoik, 2 May 2015 - 21:50.

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 #1242 mx3L

  • Senior Member
  • 616 posts

+79
Good

Posted 2 May 2015 - 22:20

Very nice @athoik, with 0x57 is problem fixed also with videoconvert plugin not installed, we should adjust servicemp3 playbin flags accordingly..


Edited by mx3L, 2 May 2015 - 22:20.


Re: GStreamer 1.0 #1243 mx3L

  • Senior Member
  • 616 posts

+79
Good

Posted 2 May 2015 - 22:49

Something like this, I recommend to make every flag specific to avoid relying on playbin defaults

diff --git a/lib/service/servicemp3.cpp b/lib/service/servicemp3.cpp
index a246ae5..fe81642 100644
--- a/lib/service/servicemp3.cpp
+++ b/lib/service/servicemp3.cpp
@@ -38,17 +38,19 @@ typedef enum
 	PROGRESSIVE_DOWNLOAD	= 0x00000002
 } eServiceMP3Flags;
 
-typedef enum
-{
-	GST_PLAY_FLAG_VIDEO         = 0x00000001,
-	GST_PLAY_FLAG_AUDIO         = 0x00000002,
-	GST_PLAY_FLAG_TEXT          = 0x00000004,
-	GST_PLAY_FLAG_VIS           = 0x00000008,
-	GST_PLAY_FLAG_SOFT_VOLUME   = 0x00000010,
-	GST_PLAY_FLAG_NATIVE_AUDIO  = 0x00000020,
-	GST_PLAY_FLAG_NATIVE_VIDEO  = 0x00000040,
-	GST_PLAY_FLAG_DOWNLOAD      = 0x00000080,
-	GST_PLAY_FLAG_BUFFERING     = 0x00000100
+typedef enum {
+  GST_PLAY_FLAG_VIDEO         = (1 << 0),
+  GST_PLAY_FLAG_AUDIO         = (1 << 1),
+  GST_PLAY_FLAG_TEXT          = (1 << 2),
+  GST_PLAY_FLAG_VIS           = (1 << 3),
+  GST_PLAY_FLAG_SOFT_VOLUME   = (1 << 4),
+  GST_PLAY_FLAG_NATIVE_AUDIO  = (1 << 5),
+  GST_PLAY_FLAG_NATIVE_VIDEO  = (1 << 6),
+  GST_PLAY_FLAG_DOWNLOAD      = (1 << 7),
+  GST_PLAY_FLAG_BUFFERING     = (1 << 8),
+  GST_PLAY_FLAG_DEINTERLACE   = (1 << 9),
+  GST_PLAY_FLAG_SOFT_COLORBALANCE = (1 << 10),
+  GST_PLAY_FLAG_FORCE_FILTERS = (1 << 11),
 } GstPlayFlags;
 
 // eServiceFactoryMP3
@@ -531,12 +533,9 @@ eServiceMP3::eServiceMP3(eServiceReference ref):
 #endif
 	if ( m_gst_playbin )
 	{
-		guint flags;
-		g_object_get(G_OBJECT (m_gst_playbin), "flags", &flags, NULL);
+		guint flags = GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_TEXT;
 		/* avoid video conversion, let the (hardware) sinks handle that */
 		flags |= GST_PLAY_FLAG_NATIVE_VIDEO;
-		/* volume control is done by hardware */
-		flags &= ~GST_PLAY_FLAG_SOFT_VOLUME;
 		if ( m_sourceinfo.is_streaming )
 		{
 			g_signal_connect (G_OBJECT (m_gst_playbin), "notify::source", G_CALLBACK (playbinNotifySource), this);

Edited by mx3L, 2 May 2015 - 22:49.


Re: GStreamer 1.0 #1244 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 3 May 2015 - 06:58

 

I recommend to make every flag specific to avoid relying on playbin defaults

 

 

Sure, better to use only what we require because any new default might cause new troubles into Enigma2 (servicemp3).

 

Here is the syncronazation of GstPlayFlags with latest GStreamer.

 

Subject: [PATCH] servicemp3: syncronize GstPlayFlags with GStreamer


diff --git a/lib/service/servicemp3.cpp b/lib/service/servicemp3.cpp
index a246ae5..e74b70d 100644
--- a/lib/service/servicemp3.cpp
+++ b/lib/service/servicemp3.cpp
@@ -38,17 +38,25 @@ typedef enum
     PROGRESSIVE_DOWNLOAD    = 0x00000002
 } eServiceMP3Flags;
 
+/*
+ * GstPlayFlags flags from playbin2. It is the policy of GStreamer to
+ * not publicly expose element-specific enums. That's why this
+ * GstPlayFlags enum has been copied here.
+ */
 typedef enum
 {
-    GST_PLAY_FLAG_VIDEO         = 0x00000001,
-    GST_PLAY_FLAG_AUDIO         = 0x00000002,
-    GST_PLAY_FLAG_TEXT          = 0x00000004,
-    GST_PLAY_FLAG_VIS           = 0x00000008,
-    GST_PLAY_FLAG_SOFT_VOLUME   = 0x00000010,
-    GST_PLAY_FLAG_NATIVE_AUDIO  = 0x00000020,
-    GST_PLAY_FLAG_NATIVE_VIDEO  = 0x00000040,
-    GST_PLAY_FLAG_DOWNLOAD      = 0x00000080,
-    GST_PLAY_FLAG_BUFFERING     = 0x00000100
+    GST_PLAY_FLAG_VIDEO         = (1 << 0),
+    GST_PLAY_FLAG_AUDIO         = (1 << 1),
+    GST_PLAY_FLAG_TEXT          = (1 << 2),
+    GST_PLAY_FLAG_VIS           = (1 << 3),
+    GST_PLAY_FLAG_SOFT_VOLUME   = (1 << 4),
+    GST_PLAY_FLAG_NATIVE_AUDIO  = (1 << 5),
+    GST_PLAY_FLAG_NATIVE_VIDEO  = (1 << 6),
+    GST_PLAY_FLAG_DOWNLOAD      = (1 << 7),
+    GST_PLAY_FLAG_BUFFERING     = (1 << 8),
+    GST_PLAY_FLAG_DEINTERLACE   = (1 << 9),
+    GST_PLAY_FLAG_SOFT_COLORBALANCE = (1 << 10),
+    GST_PLAY_FLAG_FORCE_FILTERS = (1 << 11),
 } GstPlayFlags;
 
 // eServiceFactoryMP3
--

 

Next we need to define "our" default flags. Bellow are the playbin default ones.

 

#define DEFAULT_FLAGS             GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_TEXT | \
                                  GST_PLAY_FLAG_SOFT_VOLUME | GST_PLAY_FLAG_DEINTERLACE | \
                                  GST_PLAY_FLAG_SOFT_COLORBALANCE

 

And here is "our" default flags.

 

Subject: [PATCH] servicemp3: don't rely on playbin default GstPlayFlags

Latest changes on playbin introduce new default GstPLayFlags causing issues.
It's better to define servicemp3 defaults.

diff --git a/lib/service/servicemp3.cpp b/lib/service/servicemp3.cpp
index e74b70d..63384cf 100644
--- a/lib/service/servicemp3.cpp
+++ b/lib/service/servicemp3.cpp
@@ -59,6 +59,13 @@ typedef enum
     GST_PLAY_FLAG_FORCE_FILTERS = (1 << 11),
 } GstPlayFlags;
 
+/*
+ * avoid video conversion, let the (hw) sinks handle that GST_PLAY_FLAG_NATIVE_VIDEO
+ * volume control is done by hardware ~GST_PLAY_FLAG_SOFT_VOLUME
+ */
+#define DEFAULT_FLAGS    GST_PLAY_FLAG_AUDIO | GST_PLAY_FLAG_VIDEO | GST_PLAY_FLAG_TEXT | \
+            GST_PLAY_FLAG_NATIVE_VIDEO
+
 // eServiceFactoryMP3
 
 /*
@@ -539,12 +546,7 @@ eServiceMP3::eServiceMP3(eServiceReference ref):
 #endif
     if ( m_gst_playbin )
     {
-        guint flags;
-        g_object_get(G_OBJECT (m_gst_playbin), "flags", &flags, NULL);
-        /* avoid video conversion, let the (hardware) sinks handle that */
-        flags |= GST_PLAY_FLAG_NATIVE_VIDEO;
-        /* volume control is done by hardware */
-        flags &= ~GST_PLAY_FLAG_SOFT_VOLUME;
+        guint flags = DEFAULT_FLAGS;
         if ( m_sourceinfo.is_streaming )
         {
             g_signal_connect (G_OBJECT (m_gst_playbin), "notify::source", G_CALLBACK (playbinNotifySource), this);
--

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 #1245 mx3L

  • Senior Member
  • 616 posts

+79
Good

Posted 3 May 2015 - 07:14

agreed, @OpenPli if possible please apply above patches



Re: GStreamer 1.0 #1246 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 3 May 2015 - 08:03

agreed, @OpenPli if possible please apply above patches

 

Also from now on we should test playbin using the same flags in order to emulate servicemp3!.

gst-launch-1.0 playbin uri=http://megahdlive1-f.akamaihd.net/i/live_1@105260/master.m3u8 flags=0x47

Also I think GST_PLAY_FLAG_SOFT_VOLUME is not honored by gst-launch (it should not display a warning message)

 

Thanks @mx3L for the help ;)

 

 

Edit1. Patch for not displaying warning message when GST_PLAY_FLAG_SOFT_VOLUME is not set also submited https://bugzilla.gno...gi?id=748809#c2


Edited by athoik, 3 May 2015 - 10:44.

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 #1247 babsy98

  • Senior Member
  • 166 posts

+18
Neutral

Posted 3 May 2015 - 10:46

hi i will start prepare oe-a next branch to gst head , that is now needed, too many infos in the last days with different solutions



Re: GStreamer 1.0 #1248 MiLo

  • PLi® Core member
  • 14,052 posts

+298
Excellent

Posted 3 May 2015 - 14:52

gstreamer 0.10 fails to compile with current OE master. Probably due to incomatible glib changes. So I was looking into integrating gst-1 into a new master-next.

Just merging the branch isn't enough apparently, it needs GST_VERSION="1.0" in distro configuration.

Next problems are unwanted udev dependency (easy, just remove from PACKAGECONFIG). and there's a dependency on bluez4 which no longer exists in OE-core.

Edited by MiLo, 3 May 2015 - 15:02.

Real musicians never die - they just decompose

Re: GStreamer 1.0 #1249 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 3 May 2015 - 15:03

gstreamer 0.10 fails to compile with current OE master. Probably due to incomatible glib changes. So I was looking into integrating gst-1 into master-next.

Just merging the branch isn't enough apparently, it still tries to build the 0.10 version. What is missing?

 

In order to build GStreamer 1.0 I do the following.

 

1. Add GST_VERSION = "1.0" in site.conf

 

2. Add packagegroup-base.bbappend (I add this in meta-local)

RRECOMMENDS_packagegroup-machine-base := "${@bb.data.getVar('MACHINE_EXTRA_RRECOMMENDS',d,1).replace('gst-plugin-dvbmediasink','gstreamer1.0-plugin-dvbmediasink').replace('gst-plugin-dreambox-dvbmediasink', 'gstreamer1.0-plugin-dvbmediasink').replace('gst-plugin-vuplus-dvbmediasink', 'gstreamer1.0-plugin-dvbmediasink').replace('gst-plugin-dtsdownmix', '')}"

Done!


Edited by athoik, 3 May 2015 - 15:08.

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 #1250 MastaG

  • Senior Member
  • 1,531 posts

+118
Excellent

Posted 3 May 2015 - 15:12

Great work!

 

Thanks Athoik!!!

I was very busy the past days, but I'm looking forward to test out the new changes.



Re: GStreamer 1.0 #1251 MiLo

  • PLi® Core member
  • 14,052 posts

+298
Excellent

Posted 3 May 2015 - 15:24

See the "master-next-gst1" branch.
Real musicians never die - they just decompose

Re: GStreamer 1.0 #1252 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 3 May 2015 - 16:52

See the "master-next-gst1" branch.

I just peaked into it, I saw that fixed tar 1.4.5 is used. Is it the intention to use that ?

 

1.4.5 tag has quit a lot off bugs concerning caps,media tags, buffers, mem leaks and   ..

 

In head a lot are solved however new issues are introduced. Which will require enigma2 changes.

 

This means that when next tag is introduced problems will arise if pli tries to use the next tag when published.

 

For me whatever. But like to know it before I'll start a new build from scratch with master-next-gst1.



Re: GStreamer 1.0 #1253 MiLo

  • PLi® Core member
  • 14,052 posts

+298
Excellent

Posted 3 May 2015 - 18:25

I just peaked into it, I saw that fixed tar 1.4.5 is used. Is it the intention to use that ?


The intention should be to use whatever the "rest of the world" is using. Thus, apart from maybe some PACKAGECONFIG items in bbappends, no "private" gstreamer recipes.

If we cook our own, we're stuck with years of having to sync and maintain them ourselves, like we've been doing for years with the 0.10 recipe where the same mistake was made to use our own.

As for this current branch, I just took whatever was currently in the gst-1 branch.

1.4.5 tag has quit a lot off bugs concerning caps,media tags, buffers, mem leaks and   ..


Easily fixed by overriding the SRC_URI and/or SRCREV, or better, by upstreaming that, so that the "rest of the world" can benefit (and we again because we won't have to maintain it).
Real musicians never die - they just decompose

Re: GStreamer 1.0 #1254 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 3 May 2015 - 19:21

?? Sorry not a clue off what You mean with "private" ??? and what You mean with "rest off the world".

 

 

Easily fixed by overriding the SRC_URI and/or SRCREV, or better, by upstreaming that, so that the "rest of the world" can benefit (and we again because we won't have to maintain it).

 

You will use the tagged 1.4.5 and the git then ..... strange :P



Re: GStreamer 1.0 #1255 MiLo

  • PLi® Core member
  • 14,052 posts

+298
Excellent

Posted 3 May 2015 - 19:30

"rest of the world" = In openembedded-core.
"private" = In meta-openpli.

Other people use gstreamer too. Whatever we cook up in our own repo is likely to fall apart in a year or two. So try to use the generic recipes, don't make copies of oe-core.
Real musicians never die - they just decompose

Re: GStreamer 1.0 #1256 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 3 May 2015 - 20:25

Well actually you're are saying exactly what I said already long before use the openembedded reciepes.

 

But still then there are two choices, Which will You take the tagged (which are with the fixed tarbal file or the git which is by openembedded the master git)

 

And others do prefer copy's for other good reasons.

 

Let them also say excat what and how also.

 

I only would like to know what we really wil use at the end that's all.

 

I continu whit what is decided, only there is nothing decided yet and thats the problem.



Re: GStreamer 1.0 #1257 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 4 May 2015 - 06:25

Ter info  a couple of months ago I tried using pure openembedded-core gstreamer1.0 recipes (just removed all gstreamer out off meta-openpli). except dvbmediasink.

 

Result no build .

 

At the end bbappends where needed and ...

 

Whatever is wanted some maintenance work will allways be needed. The openembedded-core do not build straight.

 

All my test showed out that the best way is how athoik proposed. Copy off recipes and adapted to own needs.

 

And that is not surprising since athoik is already bussy with it since a long time.



Re: GStreamer 1.0 #1258 MiLo

  • PLi® Core member
  • 14,052 posts

+298
Excellent

Posted 4 May 2015 - 06:38

If adaptions to the gstreamer recipes are needed, I (or anyone else actually) can simply forward them to the oe-core group as a patch. No need to make copies. As far as I could see, the current recipes are a 99% copy of the global ones.

Trouble with copies is that one cannot easily see what's different.
Real musicians never die - they just decompose

Re: GStreamer 1.0 #1259 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 4 May 2015 - 06:55

I now Remove my openpli-oe-core completely. (took backup off course from my current adapted once)

 

Will try build with clone off master-next-gst1, with all gstreamer in meta openpli removed.

 

Will well adapt bsp off machines. That's needed since its not set for gst-1 yet.



Re: GStreamer 1.0 #1260 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 4 May 2015 - 07:46

Well at start ( I build for vuduo2)

 

Already an error (but it well continu's building)

WARNING:
WARNING: Unable to get checksum for strace-native SRC_URI entry strace-0001-sigaction-wrap-sa_restorer-in-ifdef-SA_RESTORER-cons.patch: file could not be found                                    | ETA:  00:00:17
WARNING: Unable to get checksum for strace SRC_URI entry strace-0001-sigaction-wrap-sa_restorer-in-ifdef-SA_RESTORER-cons.patch: file could not be found
NOTE: glibc can't be built with -Os, -Os -Wno-error will be used instead.###########################################################                                                               | ETA:  00:00:15
NOTE: glibc can't be built with -Os, -Os -Wno-error will be used instead.
WARNING: Unable to get checksum for linux-vuduo SRC_URI entry vuduo2_defconfig: file could not be found########################################################################################    | ETA:  00:00:00


ERROR: Multiple .bb files are due to be built which each provide module-init-tools (/home/christophe/openpli40-gst1/openpli-oe-core/openembedded-core/meta/recipes-core/busybox/busybox_1.23.2.bb /home/christophe/openpli40-gst1/openpli-oe-core/openembedded-core/meta/recipes-kernel/kmod/kmod_git.bb).
 This usually means one provides something the other doesn't and should.

Edited by christophecvr, 4 May 2015 - 07:47.




5 user(s) are reading this topic

0 members, 4 guests, 0 anonymous users


    Bing (1)