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

  • Senior Member
  • 166 posts

+18
Neutral

Posted 22 November 2015 - 09:27

ok i check this , looks stream have geo blocking or that ever



Re: GStreamer 1.0 #2022 babsy98

  • Senior Member
  • 166 posts

+18
Neutral

Posted 22 November 2015 - 10:20

zapping from m3u8 stream to next  2-3 works and zapping to next same blocking as before



Re: GStreamer 1.0 #2023 gorski

  • Senior Member
  • 1,699 posts

+46
Good

Posted 22 November 2015 - 11:14

You guys probably know all this and a lot more than me, however some might be helped by this info... ;)

 

GeoBlocking can be sorted out by having a service such as SmartDNS, via preferred 2 DNS servers under:

 

MENU > SETUP > SYSTEM > NETWORK > DEVICE SETUP >  (W)LAN > Adapter settings > Edit DNS > Add > two Nameservers...

 

...and you have no problems of that sort any more... ;)


<span style='font-family: comic sans ms,cursive'>"Enlightenment is man's emergence from his self-incurred immaturity. Immaturity is the inability to use one's own understanding without the guidance of another. This immaturity is self-incurred if its cause is not lack of understanding, but lack of resolution and courage to use it without the guidance of another. The motto of enlightenment is therefore: Sapere aude! Have courage to use your own understanding!</span><br /> <br /><span style='font-family: comic sans ms,cursive'>Laziness and cowardice are the reasons why such a large proportion of men, even when nature has long emancipated them from alien guidance..." I. Kant, "Political writings" (1784)</span><br /> <br /><span style='font-family: comic sans ms,cursive'><a class='bbc_url' href='<a class='bbc_url' href='http://eserver.org/p...lightenment.txt'>http://eserver.org/p...ent.txt</a>'><a class='bbc_url' href='http://www.english.upenn.edu/~mgamer/Etexts/kant.html</a>'>http://www.english.upenn.edu/~mgamer/Etexts/kant.html</a></a> - the jolly text on Enlightenment, at the basis of Modernity...</span>

Re: GStreamer 1.0 #2024 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 22 November 2015 - 11:19

zapping from m3u8 stream to next  2-3 works and zapping to next same blocking as before


I was able to reproduce it.

Using thee following patch it solves the problem and makes start sequence much faster!

https://github.com/a...a3e28eb92124c98

Please report if it fixes the problem.
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 #2025 Akki

  • Senior Member
  • 204 posts

+3
Neutral

Posted 22 November 2015 - 12:22

I've always used this patch "h264 nocaps.patch" so I had no freezer when switching to other streaming channels.

--- gstreamer1.0-plugin-multibox-dvbmediasink/gstdvbvideosink.c.orig	2015-09-21 14:14:13.477819103 +0200
+++ gstreamer1.0-plugin-multibox-dvbmediasink/gstdvbvideosink.c	2015-09-21 14:15:24.249857811 +0200
@@ -183,8 +183,7 @@
 		"mpegversion = (int) { 1, 2 }, "
 		VIDEO_CAPS "; "
 #ifdef HAVE_H264
-	"video/x-h264, "
-		VIDEO_CAPS "; "
+	"video/x-h264; "
 #endif
 #ifdef HAVE_H263
 	"video/x-h263, "

Since the amendment to the gstdvbvideosink.c, I can no longer import this patch in the construction of the image.
So I have now Freezer (in stream channels) for 3-4sek. when switching.

Can anyone confirm this on the VU + Duo2 and what can you do about it.

Greeting Akki



Re: GStreamer 1.0 #2026 babsy98

  • Senior Member
  • 166 posts

+18
Neutral

Posted 22 November 2015 - 12:22

now check new with you last changes and build update e2 binary for test

 

i first moment looks better less blocking but after longer test , now i have the blocking

 

12:18:04.917 {   } Navigation.py:245 playService playing 4097:0:0:0:0:0:0:0:0:0:http%3a//livestreams.br.de/i/bralpha_germany@119899/master.m3u8:ARD alpha

12:18:05.303 [   ] service/servicemp3.cpp:1649 gstBusCall eServiceMP3::state transition NULL -> READY

12:18:10.276 [   ] service/servicemp3.cpp:1649 gstBusCall eServiceMP3::state transition READY -> PAUSED
12:18:10.303 [   ] service/servicemp3.cpp:2920 loadCuesheet [eServiceMP3] loading cuesheet
12:18:10.303 [ E ] service/servicemp3.cpp:2952 loadCuesheet [eServiceMP3] cutfile not found!

12:18:10.498 [   ] service/servicemp3.cpp:838 unpause [eServiceMP3] trickSeek no need to unpause!

12:18:14.944 [   ] gdi/grc.cpp:194 thread main thread is non-idle! display spinner!



Re: GStreamer 1.0 #2027 mx3L

  • Senior Member
  • 616 posts

+79
Good

Posted 22 November 2015 - 12:45

@Akki

use this one http://forums.openpl...ndpost&p=515088.

I will do some more tests with this patch, if everything is ok, I will create pull request



Re: GStreamer 1.0 #2028 Akki

  • Senior Member
  • 204 posts

+3
Neutral

Posted 22 November 2015 - 13:27

@ mx3L

Thanks for the tip, unfortunately, I get the following message when I re-build the image and the patch is to be a joined.

*** Manual patch resolution mode ***
Dropping to a shell, so patch rejects can be fixed manually.
Run "quilt refresh" when patch is corrected, press CTRL+D to exit.

Applying patch dvbvideosink_test.patch
can't find file to patch at input line 5
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff --git a/gstdvbvideosink.c b/gstdvbvideosink.c
|index a262b77..13bb928 100644
|--- a/gstdvbvideosink.c
|+++ b/gstdvbvideosink.c
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
3 out of 3 hunks ignored
Patch dvbvideosink_test.patch appears to be empty; applied
akki@akki-VirtualBox:~/openpli40/openpli-oe-core/build/tmp/work/mips32el-oe-linux/gstreamer1.0/1.6.1-r0/gstreamer-1.6.1$ 

I have the file "dvbvideosink_test.patch" in
the folder:

 

/home/akki/openpli40/openpli-oe-core/meta-openpli/recipes-multimedia/gstreamer/gstreamer1.0/

copied and pasted into the file gstreamer1.0_1.6.1.bb

at SRC_URI = "\
     http://gstreamer.fre...amer/gstreamer-${PV}.tar.xz \
     file: //0001-Fix-crash-with-gst-inspect.patch \
     file: //0001-revert-use-new-gst-adapter-get-buffer.patch \
     file: //dvbvideosink_test.patch \
"

Then the image of newly built and then I get
the following message?

 

or do I need the patch manually run.

 

Sorry for the questions but I try to learn from it.

 

Thanks Akki



Re: GStreamer 1.0 #2029 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 22 November 2015 - 14:14

now check new with you last changes and build update e2 binary for test
 
i first moment looks better less blocking but after longer test , now i have the blocking
 
12:18:04.917 {   } Navigation.py:245 playService playing 4097:0:0:0:0:0:0:0:0:0:http%3a//livestreams.br.de/i/bralpha_germany@119899/master.m3u8:ARD alpha

12:18:05.303 [   ] service/servicemp3.cpp:1649 gstBusCall eServiceMP3::state transition NULL -> READY

12:18:10.276 [   ] service/servicemp3.cpp:1649 gstBusCall eServiceMP3::state transition READY -> PAUSED
12:18:10.303 [   ] service/servicemp3.cpp:2920 loadCuesheet [eServiceMP3] loading cuesheet
12:18:10.303 [ E ] service/servicemp3.cpp:2952 loadCuesheet [eServiceMP3] cutfile not found!

12:18:10.498 [   ] service/servicemp3.cpp:838 unpause [eServiceMP3] trickSeek no need to unpause!

12:18:14.944 [   ] gdi/grc.cpp:194 thread main thread is non-idle! display spinner!


My patch doesn't solve the deadlock it just improves the startup sequence. So the problem is somewhere waiting to be found...

Please test those two commits:

https://github.com/a...a3e28eb92124c98
https://github.com/a...04e3949a361f15b


I was able to get a dealock, you need to change channels (left, right arrows) like crazy and soon or late you will get it.

Always it happens just right after state transition PAUSED -> PLAYING.

< 66645.240329> [eServiceMP3] construct!
< 66645.240969> [eServiceMP3] playbin uri=http://nerit1-lh.akamaihd.net/i/nerit_1@120689/master.m3u8
< 66645.244110> [eServiceMP3] starting pipeline
< 66645.337422> [eServiceMP3] state transition NULL -> READY
resolved to PLAY
< 66645.378125> [eServiceMP3] trickSeek no need to unpause!
resolved to PLAY
< 66645.383774> [eServiceMP3] trickSeek no need to unpause!
resolved to PLAY
< 66645.389931> [eServiceMP3] trickSeek no need to unpause!
new service started! trying to download cuts!
RemovePopup, id = ZapError
< 66645.396843> [eServiceMP3] GST_STREAM_STATUS_TYPE_CREATE -> setting timeout on souphttpsrc to 30s
0:02:21.410948861  7430 0x72f5f580 DEBUG           dvbvideosink gstdvbvideosink.c:2323:gst_dvbvideosink_change_state:<dvbvideosink39> GST_STATE_CHANGE_NULL_TO_READY
0:02:21.413264824  7430 0x72f5f580 DEBUG           dvbvideosink gstdvbvideosink.c:2187:gst_dvbvideosink_start:<dvbvideosink39> start
0:02:21.422219713  7430 0x74d14b80 DEBUG           dvbaudiosink gstdvbaudiosink.c:1553:gst_dvbaudiosink_change_state:<dvbaudiosink33> GST_STATE_CHANGE_NULL_TO_READY
0:02:21.422642750  7430 0x74d14b80 DEBUG           dvbaudiosink gstdvbaudiosink.c:1451:gst_dvbaudiosink_start:<dvbaudiosink33> start
0:02:21.472715231  7430 0x74d14b80 DEBUG           dvbvideosink gstdvbvideosink.c:2326:gst_dvbvideosink_change_state:<dvbvideosink39> GST_STATE_CHANGE_READY_TO_PAUSED
0:02:21.527634009  7430 0x74d14b80 DEBUG           dvbaudiosink gstdvbaudiosink.c:1556:gst_dvbaudiosink_change_state:<dvbaudiosink33> GST_STATE_CHANGE_READY_TO_PAUSED
0:02:21.535790713  7430 0x73108320 DEBUG           dvbvideosink gstdvbvideosink.c:506:gst_dvbvideosink_event:<dvbvideosink39> EVENT stream-start
0:02:21.540968824  7430 0x73108320 DEBUG           dvbvideosink gstdvbvideosink.c:506:gst_dvbvideosink_event:<dvbvideosink39> EVENT caps
0:02:21.541105009  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:814:gst_dvbaudiosink_event:<dvbaudiosink33> EVENT stream-start
0:02:21.541271454  7430 0x73108320 INFO            dvbvideosink gstdvbvideosink.c:1689:gst_dvbvideosink_set_caps:<dvbvideosink39> caps = video/x-h264, width=(int)16, height=(int)16, parsed=(boolean)true, stream-format=(string)byte-stream, alignment=(string)nal
0:02:21.542032528  7430 0x73108320 DEBUG           dvbvideosink gstdvbvideosink.c:1697:gst_dvbvideosink_set_caps:<dvbvideosink39> set_caps video/x-h264, width=(int)16, height=(int)16, parsed=(boolean)true, stream-format=(string)byte-stream, alignment=(string)nal
0:02:21.542465639  7430 0x73108320 INFO            dvbvideosink gstdvbvideosink.c:1851:gst_dvbvideosink_set_caps:<dvbvideosink39> MIMETYPE video/x-h264 -> STREAMTYPE_MPEG4_H264
0:02:21.546451750  7430 0x73108320 DEBUG           dvbvideosink gstdvbvideosink.c:506:gst_dvbvideosink_event:<dvbvideosink39> EVENT segment
0:02:21.546802269  7430 0x73108320 DEBUG           dvbvideosink gstdvbvideosink.c:628:gst_dvbvideosink_event:<dvbvideosink39> GST_EVENT_NEWSEGMENT rate=1.000000

0:02:21.547145194  7430 0x73108320 DEBUG           dvbvideosink gstdvbvideosink.c:506:gst_dvbvideosink_event:<dvbvideosink39> EVENT tag
0:02:21.588599046  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:814:gst_dvbaudiosink_event:<dvbaudiosink33> EVENT caps
0:02:21.593467491  7430 0x74d14a90 INFO            dvbaudiosink gstdvbaudiosink.c:514:gst_dvbaudiosink_set_caps:<dvbaudiosink33> MIMETYPE audio/mpeg version 4(AAC-ADTS)
0:02:21.593920417  7430 0x74d14a90 INFO            dvbaudiosink gstdvbaudiosink.c:792:gst_dvbaudiosink_set_caps:<dvbaudiosink33> setting dvb mode 0x0b

0:02:21.617823232  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:814:gst_dvbaudiosink_event:<dvbaudiosink33> EVENT segment
0:02:21.618245343  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:916:gst_dvbaudiosink_event:<dvbaudiosink33> GST_EVENT_NEWSEGMENT rate=1.000000 3

0:02:21.618908528  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:814:gst_dvbaudiosink_event:<dvbaudiosink33> EVENT tag
< 66646.697144> [eServiceMP3] state transition READY -> PAUSED
0:02:21.661944528  7430  0x1fa6140 DEBUG           dvbaudiosink gstdvbaudiosink.c:1566:gst_dvbaudiosink_change_state:<dvbaudiosink33> GST_STATE_CHANGE_PAUSED_TO_PLAYING
0:02:21.663125046  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:814:gst_dvbaudiosink_event:<dvbaudiosink33> EVENT tag
0:02:21.667203972  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:814:gst_dvbaudiosink_event:<dvbaudiosink33> EVENT tag
0:02:21.668853861  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:814:gst_dvbaudiosink_event:<dvbaudiosink33> EVENT tag
0:02:21.673135231  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:814:gst_dvbaudiosink_event:<dvbaudiosink33> EVENT tag
0:02:21.675568305  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:814:gst_dvbaudiosink_event:<dvbaudiosink33> EVENT tag
0:02:21.671622639  7430  0x1fa6140 DEBUG           dvbvideosink gstdvbvideosink.c:2335:gst_dvbvideosink_change_state:<dvbvideosink39> GST_STATE_CHANGE_PAUSED_TO_PLAYING
0:02:21.678684453  7430 0x73108320 DEBUG           dvbvideosink gstdvbvideosink.c:506:gst_dvbvideosink_event:<dvbvideosink39> EVENT tag
0:02:21.691822676  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:814:gst_dvbaudiosink_event:<dvbaudiosink33> EVENT tag
0:02:21.697063528  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:814:gst_dvbaudiosink_event:<dvbaudiosink33> EVENT tag
0:02:21.708921195  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:814:gst_dvbaudiosink_event:<dvbaudiosink33> EVENT tag
0:02:21.714050046  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:814:gst_dvbaudiosink_event:<dvbaudiosink33> EVENT tag
< 66646.773290> [eServiceMP3] loading cuesheet
< 66646.774391> [eServiceMP3] cutfile not found!
0:02:21.726915750  7430 0x73108320 DEBUG           dvbvideosink gstdvbvideosink.c:506:gst_dvbvideosink_event:<dvbvideosink39> EVENT caps
0:02:21.727268824  7430 0x73108320 INFO            dvbvideosink gstdvbvideosink.c:1689:gst_dvbvideosink_set_caps:<dvbvideosink39> caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal, width=(int)320, height=(int)180, framerate=(fraction)25/1, parsed=(boolean)true, profile=(string)constrained-baseline, level=(string)1.3
0:02:21.727890269  7430 0x73108320 DEBUG           dvbvideosink gstdvbvideosink.c:1697:gst_dvbvideosink_set_caps:<dvbvideosink39> set_caps video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal, width=(int)320, height=(int)180, framerate=(fraction)25/1, parsed=(boolean)true, profile=(string)constrained-baseline, level=(string)1.3
0:02:21.728384046  7430 0x73108320 INFO            dvbvideosink gstdvbvideosink.c:1851:gst_dvbvideosink_set_caps:<dvbvideosink39> MIMETYPE video/x-h264 -> STREAMTYPE_MPEG4_H264
0:02:21.731494787  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:814:gst_dvbaudiosink_event:<dvbaudiosink33> EVENT tag
0:02:21.737131306  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:814:gst_dvbaudiosink_event:<dvbaudiosink33> EVENT tag
0:02:21.772124639  7430 0x73108320 DEBUG           dvbvideosink gstdvbvideosink.c:506:gst_dvbvideosink_event:<dvbvideosink39> EVENT tag
0:02:21.787396046  7430 0x73108320 INFO            dvbvideosink gstdvbvideosink.c:730:video_write:<dvbvideosink39> VIDEO_EVENT 1
< 66646.857105> [eServiceMP3] async-done - 1 video, 1 audio, 0 subtitle
< 66646.862827> [eServiceMP3] AUDIO STRUCT=audio/mpeg
< 66646.863554> [eServiceMP3] audio stream=0 codec=MPEG-4 AAC language=und
0:02:21.804240824  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:814:gst_dvbaudiosink_event:<dvbaudiosink33> EVENT tag
< 66646.944194> [eServiceMP3] state transition PAUSED -> PLAYING
0:02:21.964553453  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:814:gst_dvbaudiosink_event:<dvbaudiosink33> EVENT tag
action ->  InfobarChannelSelection keyRight
playing 4097:0:1:0:0:0:0:0:0:0:http%3a//nerit2-lh.akamaihd.net/i/neritplus_1@121149/master.m3u8:ERT2
< 66647.084722> [eServiceMP3] stop http://nerit1-lh.akamaihd.net/i/nerit_1@120689/master.m3u8
0:02:22.028558379  7430  0x1fa6140 DEBUG           dvbaudiosink gstdvbaudiosink.c:392:gst_dvbaudiosink_unlock:<dvbaudiosink33> unlock
0:02:22.030100157  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:986:audio_write:<dvbaudiosink33> pushed 14 bytes to queue
0:02:22.036066787  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:986:audio_write:<dvbaudiosink33> pushed 263 bytes to queue
0:02:22.036696750  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:986:audio_write:<dvbaudiosink33> pushed 14 bytes to queue
0:02:22.037068491  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:986:audio_write:<dvbaudiosink33> pushed 272 bytes to queue
0:02:22.037591824  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:986:audio_write:<dvbaudiosink33> pushed 14 bytes to queue
0:02:22.037959343  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:986:audio_write:<dvbaudiosink33> pushed 322 bytes to queue
0:02:22.038506342  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:986:audio_write:<dvbaudiosink33> pushed 14 bytes to queue
0:02:22.039196157  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:986:audio_write:<dvbaudiosink33> pushed 276 bytes to queue
0:02:22.040081676  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:986:audio_write:<dvbaudiosink33> pushed 14 bytes to queue
0:02:22.040583009  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:986:audio_write:<dvbaudiosink33> pushed 284 bytes to queue
0:02:22.041472009  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:986:audio_write:<dvbaudiosink33> pushed 14 bytes to queue
0:02:22.042025083  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:986:audio_write:<dvbaudiosink33> pushed 284 bytes to queue
0:02:22.042918417  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:986:audio_write:<dvbaudiosink33> pushed 14 bytes to queue
0:02:22.043470972  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:986:audio_write:<dvbaudiosink33> pushed 275 bytes to queue
0:02:22.044465861  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:986:audio_write:<dvbaudiosink33> pushed 14 bytes to queue
0:02:22.045116824  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:986:audio_write:<dvbaudiosink33> pushed 333 bytes to queue
0:02:22.046056232  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:986:audio_write:<dvbaudiosink33> pushed 14 bytes to queue
0:02:22.046681527  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:986:audio_write:<dvbaudiosink33> pushed 325 bytes to queue
0:02:22.047639342  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:986:audio_write:<dvbaudiosink33> pushed 14 bytes to queue
0:02:22.048261824  7430 0x74d14a90 DEBUG           dvbaudiosink gstdvbaudiosink.c:986:audio_write:<dvbaudiosink33> pushed 270 bytes to queue
0:02:22.048806787  7430  0x1fa6140 DEBUG           dvbaudiosink gstdvbaudiosink.c:400:gst_dvbaudiosink_unlock_stop:<dvbaudiosink33> unlock_stop
0:02:22.049343713  7430  0x1fa6140 DEBUG           dvbaudiosink gstdvbaudiosink.c:1579:gst_dvbaudiosink_change_state:<dvbaudiosink33> GST_STATE_CHANGE_PLAYING_TO_PAUSED
0:02:22.096666824  7430  0x1fa6140 DEBUG           dvbvideosink gstdvbvideosink.c:491:gst_dvbvideosink_unlock:<dvbvideosink39> unlock
0:02:22.096720713  7430 0x73108320 DEBUG           dvbvideosink gstdvbvideosink.c:691:video_write:<dvbvideosink39> pushed 1017 bytes to queue
0:02:22.097822232  7430  0x1fa6140 DEBUG           dvbvideosink gstdvbvideosink.c:499:gst_dvbvideosink_unlock_stop:<dvbvideosink39> unlock_stop
0:02:22.098369268  7430  0x1fa6140 DEBUG           dvbvideosink gstdvbvideosink.c:2348:gst_dvbvideosink_change_state:<dvbvideosink39> GST_STATE_CHANGE_PLAYING_TO_PAUSED
0:02:22.104098861  7430  0x1fa6140 DEBUG           dvbaudiosink gstdvbaudiosink.c:392:gst_dvbaudiosink_unlock:<dvbaudiosink33> unlock
0:02:22.104409379  7430  0x1fa6140 DEBUG           dvbaudiosink gstdvbaudiosink.c:400:gst_dvbaudiosink_unlock_stop:<dvbaudiosink33> unlock_stop
0:02:22.105083898  7430  0x1fa6140 DEBUG           dvbaudiosink gstdvbaudiosink.c:1586:gst_dvbaudiosink_change_state:<dvbaudiosink33> GST_STATE_CHANGE_PAUSED_TO_READY
0:02:22.110312231  7430  0x1fa6140 DEBUG           dvbvideosink gstdvbvideosink.c:491:gst_dvbvideosink_unlock:<dvbvideosink39> unlock
0:02:22.110552194  7430  0x1fa6140 DEBUG           dvbvideosink gstdvbvideosink.c:499:gst_dvbvideosink_unlock_stop:<dvbvideosink39> unlock_stop
0:02:22.112090009  7430  0x1fa6140 DEBUG           dvbvideosink gstdvbvideosink.c:2355:gst_dvbvideosink_change_state:<dvbvideosink39> GST_STATE_CHANGE_PAUSED_TO_READY
0:02:22.117256898  7430  0x1fa6140 DEBUG           dvbvideosink gstdvbvideosink.c:2226:gst_dvbvideosink_stop:<dvbvideosink39> stop
0:02:22.123468713  7430  0x1fa6140 DEBUG           dvbvideosink gstdvbvideosink.c:2358:gst_dvbvideosink_change_state:<dvbvideosink39> GST_STATE_CHANGE_READY_TO_NULL
0:02:22.125008824  7430  0x1fa6140 DEBUG           dvbaudiosink gstdvbaudiosink.c:1482:gst_dvbaudiosink_stop:<dvbaudiosink33> stop
0:02:22.131071898  7430  0x1fa6140 DEBUG           dvbaudiosink gstdvbaudiosink.c:1589:gst_dvbaudiosink_change_state:<dvbaudiosink33> GST_STATE_CHANGE_READY_TO_NULL
< 66650.984565> [gRC] main thread is non-idle! display spinner!

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 #2030 samsamsam

  • Senior Member
  • 2,024 posts

+146
Excellent

Posted 22 November 2015 - 14:22

Hello,
 
Maybe you know that I am under porting player based on ffmpeg - exteplayer3.
 
Now I am working on support for PCM but unfortunately I have a problem,
I dump PES inserted by gstreamer where audio play and those inserted via exteplayer3 and the data are exacly the same but with exteplayer3 audio is not playied.
Also bypass mode seems the same 0x30.
 
I have no Idea what could be wrong.
Maybe someone have an idea on what I should pay attention?
 
Regards,
SSS


Re: GStreamer 1.0 #2031 babsy98

  • Senior Member
  • 166 posts

+18
Neutral

Posted 22 November 2015 - 14:52

after play and stop 3 streams all ok

start stream nr 4

 

14:45:57.905 {   } Navigation.py:245 playService playing 4097:0:0:0:0:0:0:0:0:0:http%3a//livestreams.br.de/i/bfsnord_germany@119898/master.m3u8:Bayerisches Fernsehen Nord
14:45:58.298 [   ] service/servicemp3.cpp:1648 gstBusCall eServiceMP3::state transition NULL -> READY
14:45:59.951 [   ] service/servicemp3.cpp:1648 gstBusCall eServiceMP3::state transition READY -> PAUSED
14:46:04.520 [   ] gdi/grc.cpp:194 thread main thread is non-idle! display spinner!



Re: GStreamer 1.0 #2032 Akki

  • Senior Member
  • 204 posts

+3
Neutral

Posted 22 November 2015 - 15:14

@ mx3L

I use to build yes Christopher multibox dvbmediasink because the patch is already in it, as I have seen, hence the message when patching.
Still, I can fesstellen no improvement, while zapping come from freezer 3-5sek. eh the Image is clear.

Can I get you to test the streams send the test via PM? (XXX content).

Greeting Akki



Re: GStreamer 1.0 #2033 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 22 November 2015 - 16:13

after play and stop 3 streams all ok
start stream nr 4
 
14:45:57.905 {   } Navigation.py:245 playService playing 4097:0:0:0:0:0:0:0:0:0:http%3a//livestreams.br.de/i/bfsnord_germany@119898/master.m3u8:Bayerisches Fernsehen Nord
14:45:58.298 [   ] service/servicemp3.cpp:1648 gstBusCall eServiceMP3::state transition NULL -> READY
14:45:59.951 [   ] service/servicemp3.cpp:1648 gstBusCall eServiceMP3::state transition READY -> PAUSED
14:46:04.520 [   ] gdi/grc.cpp:194 thread main thread is non-idle! display spinner!


Can you add the following:

diff --git a/lib/service/servicemp3.cpp b/lib/service/servicemp3.cpp
index 7be0ca7..1231dc8 100644
--- a/lib/service/servicemp3.cpp
+++ b/lib/service/servicemp3.cpp
@@ -772,8 +772,21 @@ RESULT eServiceMP3::stop()
                return -1;

        eDebug("[eServiceMP3] stop %s", m_ref.path.c_str());
-       gst_element_set_state(m_gst_playbin, GST_STATE_NULL);
        m_state = stStopped;
+
+       GstStateChangeReturn ret;
+       GstState state, pending;
+       /* make sure that last state change was successfull */
+       ret = gst_element_get_state(m_gst_playbin, &state, &pending, 100);
+       eDebug("[eServiceMP3] stop state:%s pending:%s ret:%s",
+               gst_element_state_get_name(state),
+               gst_element_state_get_name(pending),
+               gst_element_state_change_return_get_name(ret));
+
+       ret = gst_element_set_state(m_gst_playbin, GST_STATE_NULL);
+       if (ret != GST_STATE_CHANGE_SUCCESS)
+               eDebug("[eServiceMP3] stop GST_STATE_NULL failure");
+
        saveCuesheet();
        m_nownext_timer->stop();
        if (m_streamingsrc_timeout)

Deadlock always happens with state:READY pending:PAUSED ret:ASYNC

< 74097.005539> [eServiceMP3] destruct!
< 74097.011111> [eServiceMP3] construct!
< 74097.011847> [eServiceMP3] playbin uri=http://skyianywhere2-i.akamaihd.net/hls/live/200275/tg24/playlist.m3u8
< 74097.014858> [eServiceMP3] starting pipeline
< 74097.030262> [eServiceMP3] state transition NULL -> READY
resolved to PLAY
< 74097.074675> [eServiceMP3] trickSeek no need to unpause!
resolved to PLAY
< 74097.079539> [eServiceMP3] trickSeek no need to unpause!
resolved to PLAY
< 74097.084311> [eServiceMP3] trickSeek no need to unpause!
new service started! trying to download cuts!
RemovePopup, id = ZapError
< 74097.089253> [eServiceMP3] GST_STREAM_STATUS_TYPE_CREATE -> setting timeout on souphttpsrc to 30s
action ->  InfobarChannelSelection keyLeft
playing 4097:0:1:0:0:0:0:0:0:0:rtmp%3a//streamer0.grnet.gr/parliament/parltv.sdp:Vouli
< 74097.351953> [eServiceMP3] stop http://skyianywhere2-i.akamaihd.net/hls/live/200275/tg24/playlist.m3u8
< 74097.352199> [eServiceMP3] stop state:READY pending:PAUSED ret:ASYNC
< 74101.134492> [gRC] main thread is non-idle! display spinner!

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

  • Senior Member
  • 166 posts

+18
Neutral

Posted 22 November 2015 - 17:07

16:51:55.194 {   } Navigation.py:245 playService playing 4097:0:0:0:0:0:0:0:0:0:http%3a//daserste_live-lh.akamaihd.net/i/daserste_de@91204/master.m3u8:Das Erste
16:51:55.773 [   ] service/servicemp3.cpp:1661 gstBusCall eServiceMP3::state transition READY -> PAUSED
16:51:55.856 [   ] service/servicemp3.cpp:1909 gstBusCall eServiceMP3::async-done - 1 video, 1 audio, 0 subtitle
16:51:55.856 [   ] service/servicemp3.cpp:1933 gstBusCall AUDIO STRUCT=audio/mpeg
16:51:55.856 [   ] service/servicemp3.cpp:1958 gstBusCall eServiceMP3::audio stream=0 codec=MPEG-4 AAC language=und

--> Play ok


16:52:13.299 [   ] service/servicemp3.cpp:775 stop eServiceMP3::stop http://daserste_live...204/master.m3u8
16:52:13.300 [   ] service/servicemp3.cpp:785 stop [eServiceMP3] stop state:PLAYING pending:VOID_PENDING ret:SUCCESS

--> Stop ok



16:52:17.460 {   } Navigation.py:245 playService playing 4097:0:0:0:0:0:0:0:0:0:http%3a//delive.artestras.cshls.lldns.net/artestras/delive/delive.m3u8:arte
16:52:17.866 [   ] service/servicemp3.cpp:1661 gstBusCall eServiceMP3::state transition NULL -> READY
16:52:17.901 [   ] service/servicemp3.cpp:850 unpause [eServiceMP3] trickSeek no need to unpause!
16:52:20.282 [   ] service/servicemp3.cpp:1661 gstBusCall eServiceMP3::state transition PAUSED -> PLAYING

--> PLAY ok


16:52:29.882 [   ] service/servicemp3.cpp:775 stop eServiceMP3::stop http://delive.artest...ive/delive.m3u8
16:52:29.883 [   ] service/servicemp3.cpp:785 stop [eServiceMP3] stop state:PLAYING pending:VOID_PENDING ret:SUCCESS

--> Stop OK

16:52:35.398 {   } Navigation.py:245 playService playing 4097:0:0:0:0:0:0:0:0:0:http%3a//livestreams.br.de/i/bralpha_germany@119899/master.m3u8:ARD alpha
16:52:35.807 [   ] service/servicemp3.cpp:1661 gstBusCall eServiceMP3::state transition NULL -> READY
16:52:37.407 [   ] service/servicemp3.cpp:1661 gstBusCall eServiceMP3::state transition READY -> PAUSED
16:52:41.993 [   ] gdi/grc.cpp:194 thread main thread is non-idle! display spinner!

--> Blocking



Re: GStreamer 1.0 #2035 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 22 November 2015 - 17:43

There is no log about [eServiceMP3] stop state?
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 #2036 babsy98

  • Senior Member
  • 166 posts

+18
Neutral

Posted 22 November 2015 - 17:45

i have see only one time

 

16:52:29.883 [   ] service/servicemp3.cpp:785 stop [eServiceMP3] stop state:PLAYING pending:VOID_PENDING ret:SUCCESS



Re: GStreamer 1.0 #2037 mx3L

  • Senior Member
  • 616 posts

+79
Good

Posted 22 November 2015 - 18:09

@athoik

1. from logs I can see that we are stopping pipeline while another one is starting. If sink is not stopped in stopping pipeline, it still has not closed fd of device, while in starting pipeline we want to open it. Maybe we should make sure that stopping pipeline is really stopped and then start another one.

2. try to set async state changes for dvbvideosink too, so we will not wait for preroll buffer to arrive to sink.



Re: GStreamer 1.0 #2038 athoik

  • PLi® Core member
  • 8,458 posts

+327
Excellent

Posted 22 November 2015 - 19:05

i have see only one time
 
16:52:29.883 [   ] service/servicemp3.cpp:785 stop [eServiceMP3] stop state:PLAYING pending:VOID_PENDING ret:SUCCESS

 
Changing the gst_element_get_state to wait for GST_CLOCK_TIME_NONE, seems fix it.

diff --git a/lib/service/servicemp3.cpp b/lib/service/servicemp3.cpp
index 7be0ca7..3345d32 100644
--- a/lib/service/servicemp3.cpp
+++ b/lib/service/servicemp3.cpp
@@ -772,8 +772,21 @@ RESULT eServiceMP3::stop()
                return -1;

        eDebug("[eServiceMP3] stop %s", m_ref.path.c_str());
-       gst_element_set_state(m_gst_playbin, GST_STATE_NULL);
        m_state = stStopped;
+
+       GstStateChangeReturn ret;
+       GstState state, pending;
+       /* make sure that last state change was successfull */
+       ret = gst_element_get_state(m_gst_playbin, &state, &pending, GST_CLOCK_TIME_NONE);
+       eDebug("[eServiceMP3] stop state:%s pending:%s ret:%s",
+               gst_element_state_get_name(state),
+               gst_element_state_get_name(pending),
+               gst_element_state_change_return_get_name(ret));
+
+       ret = gst_element_set_state(m_gst_playbin, GST_STATE_NULL);
+       if (ret != GST_STATE_CHANGE_SUCCESS)
+               eDebug("[eServiceMP3] stop GST_STATE_NULL failure");
+
        saveCuesheet();
        m_nownext_timer->stop();
        if (m_streamingsrc_timeout)
 

@athoik
1. from logs I can see that we are stopping pipeline while another one is starting. If sink is not stopped in stopping pipeline, it still has not closed fd of device, while in starting pipeline we want to open it. Maybe we should make sure that stopping pipeline is really stopped and then start another one.
2. try to set async state changes for dvbvideosink too, so we will not wait for preroll buffer to arrive to sink.


Yes, if you try to switch channels very (very,very) fast you will get the error.
If you apply the above patch it will wait until the state change before changing to NULL state.
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 #2039 babsy98

  • Senior Member
  • 166 posts

+18
Neutral

Posted 22 November 2015 - 19:42

not better

 

19:30:09.249 {   } Navigation.py:245 playService playing 4097:0:0:0:0:0:0:0:0:0:http%3a//daserste_live-lh.akamaihd.net/i/daserste_de@91204/master.m3u8:Das Erste
19:30:11.149 [   ] service/servicemp3.cpp:1661 gstBusCall eServiceMP3::state transition NULL -> READY
19:30:11.190 [   ] service/servicemp3.cpp:850 unpause [eServiceMP3] trickSeek no need to unpause!

--> start ok

19:30:40.093 [   ] service/servicemp3.cpp:775 stop eServiceMP3::stop http://daserste_live...204/master.m3u8
19:30:40.093 [   ] service/servicemp3.cpp:785 stop [eServiceMP3] stop state:PLAYING pending:VOID_PENDING ret:SUCCESS

--> stop ok

19:30:43.654 {   } Navigation.py:245 playService playing 4097:0:0:0:0:0:0:0:0:0:http%3a//delive.artestras.cshls.lldns.net/artestras/delive/delive.m3u8:arte
19:30:44.046 [   ] service/servicemp3.cpp:1661 gstBusCall eServiceMP3::state transition NULL -> READY
19:30:44.083 [   ] service/servicemp3.cpp:850 unpause [eServiceMP3] trickSeek no need to unpause!
19:30:44.853 [   ] service/servicemp3.cpp:1661 gstBusCall eServiceMP3::state transition READY -> PAUSED
19:30:45.017 [   ] service/servicemp3.cpp:1909 gstBusCall eServiceMP3::async-done - 1 video, 1 audio, 0 subtitle
19:30:45.017 [   ] service/servicemp3.cpp:1933 gstBusCall AUDIO STRUCT=audio/mpeg
19:30:45.017 [   ] service/servicemp3.cpp:1958 gstBusCall eServiceMP3::audio stream=0 codec=MPEG-4 AAC language=und
19:30:46.686 [   ] service/servicemp3.cpp:1661 gstBusCall eServiceMP3::state transition PAUSED -> PLAYING

--> Start OK

19:30:59.965 [   ] service/servicemp3.cpp:775 stop eServiceMP3::stop http://delive.artest...ive/delive.m3u8
19:30:59.965 [   ] service/servicemp3.cpp:785 stop [eServiceMP3] stop state:PLAYING pending:VOID_PENDING ret:SUCCESS

--> stop ok

19:31:03.309 {   } Navigation.py:245 playService playing 4097:0:0:0:0:0:0:0:0:0:http%3a//livestreams.br.de/i/bralpha_germany@119899/master.m3u8:ARD alpha
19:31:03.717 [   ] service/servicemp3.cpp:1661 gstBusCall eServiceMP3::state transition NULL -> READY
19:31:03.743 [   ] service/servicemp3.cpp:850 unpause [eServiceMP3] trickSeek no need to unpause!
19:31:05.572 [   ] service/servicemp3.cpp:1661 gstBusCall eServiceMP3::state transition READY -> PAUSED
19:31:10.141 [   ] gdi/grc.cpp:194 thread main thread is non-idle! display spinner!

--> Blocking



Re: GStreamer 1.0 #2040 mx3L

  • Senior Member
  • 616 posts

+79
Good

Posted 22 November 2015 - 22:12

This is correct solution: http://forums.openpl...ndpost&p=515379

I was able to reproduce deadlock easily on et4x00 after quick servicemp3 channel switching. With patch above I have no deadlock anymore.





8 user(s) are reading this topic

0 members, 7 guests, 0 anonymous users


    Bing (1)