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 #141 theparasol

  • Senior Member
  • 4,157 posts

+198
Excellent

Posted 18 October 2014 - 09:56

From what I have seen with gstreamer on my xp1000 earlier this year is that if gstreamer is in pause state the box actually is (starting) to play.

That cant be sound. If you hit pause button it goes to stop mode, hit pause again it starts again.

I believe the sink code is using the gstreamer status wrong and needs to be revised.

 

But this all from memory. Better see for yourself.


@Camping: ZGemma H.2S, Technisat Multytenne 4-in-1 @Home: Edision Mini 4K, Wave Frontier T55, EMP Centauri EMP DiSEqC 8/1 switch, 4x Inverto Ultra Black single LNB


Re: GStreamer 1.0 #142 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 18 October 2014 - 14:30

Hello,

In case you see the following message while opening hls streams install ca-certificates.

(enigma2:573): GLib-Net-WARNING **: couldn't load TLS file database: Failed to open file '/etc/ssl/certs/ca-certificates.crt': No such file or directory

opkg install ca-certificates

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

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 19 October 2014 - 14:50

Hello,

Here are the latest patches for GStreamer 1.0.

* GST_EVENT_EOS not is reveived on the enigma (dvbmediasink issue)
* Fast Forward works (using a hack, again it seems like an dvbmediasink issue)
* Version is displayed on About screen (enchancement)
* Add GST_SUBTITLE_ENCODING failback (displays correct ISO srt subtitles, enchancement)
* ca-certificates will be installed (added in enigma.bbappend as RRECOMMENDS)
* GStreamer updated to 1.4.3

PS, when paches pushed by OpenPLi build will fail, so you might need to remove them from .bbappend file.

In order to be able to build OpenPLi OE with GStreamer 1.0 you need to extract Attached File  gstreamer1.0v2.tar.gz   15.94KB   37 downloads inside meta-local/receipes-local.
 
cd meta-local/receipes-local
tar -xzvf gstreamer1.0v2.tar.gz 

Then we need to modify the MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS and remove gst-plugin-dvbmediasink and change it to gstreamer1.0-plugin-dvbmediasink (example for formuler follows)
 

$ git diff
diff --git a/conf/machine/include/formuler.inc b/conf/machine/include/formuler.inc
index 7577a79..3d1b67f 100644
--- a/conf/machine/include/formuler.inc
+++ b/conf/machine/include/formuler.inc
@@ -18,7 +18,7 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS = "\
 KERNEL_MODULE_AUTOLOAD = "xfs"

 MACHINE_EXTRA_RRECOMMENDS = " \
-       gst-plugin-dvbmediasink \
+       gstreamer1.0-plugin-dvbmediasink \
        ntfs-3g \
        "
Finally it's time to build your favourite image with GStreamer 1.0 support.
 
MACHINE=XXX make image
I suggest don't try to compile feeds also, there is not need yet, there many issues to solve on core enigma2 ;)

Additional information: If you created a custom patch and you want to test it all you have to do is copy the patch inside gstreamer1.0 folder, declare it inside enigma2.bbappend and increase PR to force build.
 
+SRC_URI += "file://another-test.patch"
-PR = "r61"
+PR = "r62"
Happy building :D


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 #144 littlesat

  • PLi® Core member
  • 57,187 posts

+699
Excellent

Posted 19 October 2014 - 19:50

What is still on the 2 do list?

WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W


Re: GStreamer 1.0 #145 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 19 October 2014 - 20:41

Most of my movies are working without a problem, although there are some movies that don't play smoothly (they have the same problem as mx3L notice on #137).

In my todo list currently is the investigation of adding GST_QUERY_POSITION in dvbmediasink to make code simpler and use only gst_element_query_position without the need of g_signal_emit_by_name. Also remove some useless GST_DEBUG.
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 #146 Fischreiher

  • Senior Member
  • 26 posts

+2
Neutral

Posted 20 October 2014 - 13:38

You said fast forward works. How about rewinding which never worked for .mkv with gst 0.1, have you been able to fix that as well?



Re: GStreamer 1.0 #147 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 20 October 2014 - 16:18

Rewind works but it really depends on the media used.

Maybe trickSeek can be tuned for rewind...

Sure it is better than 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 #148 mx3L

  • Senior Member
  • 616 posts

+79
Good

Posted 20 October 2014 - 23:47

Hi,

I created patches which I believe should resolve #137 issue. The problem is that I cannot test them since I cannot force bitbake to rebuild gstreamer1.0-plugins-base

 

This is my unsuccessfull attempt:

1. added patches to gstreamer1.0-plugins-base directory

2. appended patches paths to SRC_URI in gstreamer1.0-plugins-base_1.4.3.bb

3. echo 'PR="r1"' > gstreamer1.0-plugins-base_1.4.%.bbappend

4. bitbake gstreamer1.0-plugins-base

Function failed: Fetcher failure for URL: 'http://gstreamer.fre...-base-r1.tar.xz'. Unable to fetch URL from any source

This makes sense since get_gst_srcuri in gstreamer1.0-plugins.inc does this, but how is possible that it works for bad, ugly..?

 

Any help appreciated


Edited by mx3L, 20 October 2014 - 23:51.


Re: GStreamer 1.0 #149 mx3L

  • Senior Member
  • 616 posts

+79
Good

Posted 20 October 2014 - 23:59

aah stupid me :), I used PV instead of PR, mods you can delete my lasts posts, thanks


Edited by mx3L, 21 October 2014 - 00:00.


Re: GStreamer 1.0 #150 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 21 October 2014 - 05:16

mx3L,

#137 should be fixed by http://sourceforge.n...e8c01d48e56e5d/

You don't receive EOS?
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 #151 mx3L

  • Senior Member
  • 616 posts

+79
Good

Posted 21 October 2014 - 06:25

athoik,

 

I was refering to this

 

Most of my movies are working without a problem, although there are some movies that don't play smoothly (they have the same problem as mx3L notice on #137)

So I mean movies that didn't play smoothly.

 

What I found out about this issue:

 

Video de-sync is issue for xvid and probably 3ivx videos. dvbvideosink has specific treatment for these video codecs, but it's not triggered because mimetypes for xvid(video/x-xvid) and 3ivx(video/x-3ivx) are no longer propagated, instead both use video/mpeg mimetype with mpegversion 4.

This means that dvbvideosink is playing xvid videos as mpeg4 videos.

 

It looks like that this was introduced by these two commits:

http://cgit.freedesk...03014f7b5b0cb7f

http://cgit.freedesk...d793701d1c376b9

 

So I was trying to fix the issue just by reverting them, but this is probably not a proper way, I was debugging riff, and it looks like xvid will be somewhere in caps, so patch for dvbmediasink will suffice. Will try and post patches in case of success.


Edited by mx3L, 21 October 2014 - 06:27.


Re: GStreamer 1.0 #152 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 21 October 2014 - 13:15

mx3L,

 

In gst_dvbvideosink_set_caps (after gst_caps_get_structure) add something like the following:

 

GstStructure *structure = gst_caps_get_structure(caps, 0);
const GValue *codec_data = gst_structure_get_value(structure, "codec_data");
guint32 fourcc=0;
gst_structure_get_fourcc(structure, "fourcc", &fourcc)
 
if(GST_MAKE_FOURCC('W', 'V', 'C', '1') == fourcc) ....
if(GST_MAKE_FOURCC ('X', 'V', 'I', 'D') == fourcc) ....
...

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

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 21 October 2014 - 22:14

Hello,

I tested two ways (the first already existed to check wmv) to get fourcc in dvbmediasink but none of them worked.
 
const char* fourccc = gst_structure_get_string(structure, "format");
fourcc = GST_STR_FOURCC(value);

GstVideoInfo vinfo;
gst_video_info_from_caps (&vinfo, caps)
fourcc = gst_video_format_to_fourcc (GST_VIDEO_INFO_FORMAT(&vinfo));
So i ended up reverting http://cgit.freedesk...03014f7b5b0cb7f (as suggested by mx3L)
 
$ cat gstreamer1.0-plugins-base_1.4.%.bbappend
FILESEXTRAPATHS_prepend := "${THISDIR}:"
SRC_URI += "file://0001-Partially-revert-video-x-xvid-video-mpeg-mpegversion.patch"
PR="r1"
Regarding http://cgit.freedesk...d793701d1c376b9 there is no need to revert because we are using streamtype = 4 the same as in video/mpeg v4.

With above change divx videos have no issue because the correct streamtype = 10 is used.

Attached Files


Edited by athoik, 21 October 2014 - 22:14.

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

  • Senior Member
  • 616 posts

+79
Good

Posted 21 October 2014 - 22:23

athoik,

 

thanks for suggestion, but with mpeg4 there is no "fourcc" parameter provided, also gst_structure_get_fourcc is only for 0.10 version. So it looks like without modification of riff-media.c file it will be not easy to gain codec info.

 

I added parameter "mpeg4codec" to mpeg4 video in riff-media.c which denotes if we are working with xvid,3ivx codec, then in dvbmediasink render I parse this parameter for correct stream handling.

 

The result is underwhelming I don't see any improvement, on the contrary some xvid videos which worked before now doesn't work. In log looks everything allright - xvid streamtype is selected.

 

I did also try to revert riff commits which removed xvid/3ivx mime types, so dvbmediasink stayed untouched. Result is unfortunately the same.

 

In case somebody wants to try, here are patches

 

1. solution:

Attached File  0001-use-mpeg4codec-to-handle-xvid-3ivx.patch   2.5KB   3 downloads

Attached File  0001-added-mpeg4codec-param-to-mpeg4-video.patch   1.21KB   2 downloads

 

2. solution - revert patches:

Attached File  0001-Revert-video-x-xvid-video-mpeg-mpegversion-4.patch   3.53KB   7 downloads

Attached File  0002-Revert-video-x-3ivx-video-mpeg-mpegversion-4.patch   2.95KB   2 downloads

 

from gstreamer base plugins, its sufficient to upgrade libgstriff


Edited by mx3L, 21 October 2014 - 22:23.


Re: GStreamer 1.0 #155 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 22 October 2014 - 16:13

mx3L,

I tried with 0001-Revert-video-x-xvid-video-mpeg-mpegversion-4.patch and xvid video works fine (mine patch wasn't created using git revert so I used yours).

Maybe flash a new image instead of upgrading packages. If reflash doesn't help try the folowing command.

GST_DEBUG_DUMP_DOT_DIR=/tmp gst-launch-1.0 -v playbin uri=file:///media/usb/XXX.avi
After a minute stop the command (ctrl + c) and under /tmp you will find some pot files, READY to PAUSED it is the important because we can see the pipeline visualized with xdot (and track issues, incorrect caps etc).

PS. There is no need to revert 0002-Revert-video-x-3ivx-video-mpeg-mpegversion-4.patch because it uses the correct streamtype.
PPS. There are some patches pending for inclusion in dvbmediasink that fix issues with caps, although nothing related with xvid.
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 #156 mx3L

  • Senior Member
  • 616 posts

+79
Good

Posted 23 October 2014 - 20:12

athoik,

 

Unfortunately reflash didn't help.

I did created dot files for 0.10 version where playback is flawless and compare them with 1.0 version with revert xvid patch. The only significant difference which I could see is that mp3 audio is sw-decoded by mad(1.0) instead of directly going to dvbaudiosink(0.10).

After removing framed part from dvbaudiosink:

diff --git a/gstdvbaudiosink.c b/gstdvbaudiosink.c
index 1306340..5948392 100644
--- a/gstdvbaudiosink.c
+++ b/gstdvbaudiosink.c
@@ -95,8 +95,7 @@ static guint gst_dvbaudiosink_signals[LAST_SIGNAL] = { 0 };
 
 #ifdef HAVE_MP3
 #define MPEGCAPS \
-               "audio/mpeg, " \
-               "framed =(boolean) true; "
+               "audio/mpeg; "
 #else
 #define MPEGCAPS \
                "audio/mpeg, " \

pipeline 0.10 and 1.0 looks alike

 

Here is summary for my xvid test video on et4x00:

0.10 - flawless playback

1.0 revert patch - audio playback without issues but out of sync with video, video is changing pace

1.0 revert patch + removed framed from mpeg caps - audio playback sometimes stops, but is in sync with video, video is changing pace and after ~1min stops

 

xvid test file(175MB) - https://dl.dropboxus...760017/xvid.avi

 

Revert patches:

Maybe we should revert also gstreamer-good - http://cgit.freedesk...70866f23875d3a5 (at least demux)

Attached Files


Edited by mx3L, 23 October 2014 - 20:15.


Re: GStreamer 1.0 #157 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 23 October 2014 - 21:02

I think the framed must gone away, I had exactly the same problem with wmv/wma video, after removing framed the wma sound worked with dvbaudiosink just fine.

 

So it causes only problems and better to remove from caps.

 

Regarding the xvid/divx issue I think either the manufactures must be able to support xvid/divx using streamtype = 4 either we need to find a way to "detect" xvid/divx without need to revert the world every time.

 

We might get some help from GStreamer developer list on how to detect xvid/divx, I'll send an email during the weekend.

 

In the meanwhile if someone has an idea for the xvid/divx detection feel free to share it.


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

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 24 October 2014 - 17:48

Enigma2 dvbmediasink video/x-xvid -> video/mpeg,mpegversion=4
http://lists.freedes...ber/050084.html
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 #159 Erik Slagter

  • PLi® Core member
  • 46,969 posts

+542
Excellent

Posted 25 October 2014 - 09:50

I hope they'll pick this up.


* 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 #160 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 26 October 2014 - 07:50

"video/x-xvid changed to video/mpeg,mpegversion=4" https://bugzilla.gno...g.cgi?id=739196

I opened this as a bug, hoping to get more attension on this issue.

I guess if the feedback is negative then we have two options..

1. The drivers should be able to find out that video/mpeg,mpegversion=4 sometimes is actually x-xvid and use the correct ioctl internally
2. We must revert lot of things with the risk of causing undesired effects to other compoments of GStreamer

Edited by athoik, 26 October 2014 - 07: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



2 user(s) are reading this topic

0 members, 2 guests, 0 anonymous users