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

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 28 June 2015 - 20:41

Wel thank's for help . But indeed in gst-0.10 there is no toc support, I was already afk of that. (I found a lot stuff about it but all pretty cryptic but could made out of it that TOC support was only for gst-1.xxx  The support concerning old gst-0.10 seriousely drops every where. Actually all serious and trustable side do not contain much info anymore for gst-010 . Only crappy ones remains on a few exceptions and those crappy ones are more filled wit bull shit then something else.)

 

You just should try with patch 1 only (that should be ok for gst-0.10 but then only manual entry's are possible. No automated chapter support avbl)

 

This means that I have  to modifie patch 2 (toc-patch)  code   only avbl for gst-1. and greater with :

 

#if GST_VERSION_MAJOR >= 1

bla bla bla

 

#endif

 

And ver very great thank's, You're the first which wanted to try it out and I asked this question already almost two weeks ago. With I in that time just a special routine to check if toc could be used by gst-0.10


Edited by christophecvr, 28 June 2015 - 20:43.


Re: GStreamer 1.0 #1422 littlesat

  • PLi® Core member
  • 56,933 posts

+695
Excellent

Posted 28 June 2015 - 20:46

When you mod the patch I can commit it...

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


Re: GStreamer 1.0 #1423 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 28 June 2015 - 20:49

About cd support : I tried to make an image but unfortunatelly from audio cd cdda I can't make an iso image .

 

I well could make an .cue   or cdrao (.toc) . But I gues it will not be threated like a real audio cd by enigma2 to simulate a cd device.

 

For dvd it's possible since there iso9960 can be made



Re: GStreamer 1.0 #1424 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 28 June 2015 - 20:54

When you mod the patch I can commit it...

 

I will now change the patch (and test first).

 

All the added code for patch one will remain as has nothing to do with gstreamer self.

 

Patch 2 will code all off it will only be avbl for gst >= 1 (I already made comments so that I did not for got something when this had to be done :) )



Re: GStreamer 1.0 #1425 Beeker

  • PLi® Contributor
  • 1,586 posts

+202
Excellent

Posted 28 June 2015 - 21:18

About cd support : I tried to make an image but unfortunatelly from audio cd cdda I can't make an iso image .

 

I well could make an .cue   or cdrao (.toc) . But I gues it will not be threated like a real audio cd by enigma2 to simulate a cd device.

 

For dvd it's possible since there iso9960 can be made

 

Just use Brasero.

 

select Data Project.

 

add track(s)  from the CD.

 

Select iso file and press burn.

 

FTP to hdd and go with PVR butto to the iso file.

 

I did that, but no luck. Player wont start. (still at 0.00).


Dreambox dm920, Uclan Ustym4Kpro, Gigablue UHD TRIO 4K and Dreambox dm8000. Wavefrontier T55 13.0|19.2|23.5|28.2 + Ziggo.


Re: GStreamer 1.0 #1426 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 28 June 2015 - 22:15

When you mod the patch I can commit it...

 

Here the reworked patches The one patch will work for gst-0.10 also. The second is everywhere limited for #if GST_VERSION_MAJOR >= 1 since for gst-0.10 there is not toc support.

 

Demo log about working from chapter by my own made mkv movie included as log

Attached Files



Re: GStreamer 1.0 #1427 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 29 June 2015 - 06:25

 

About cd support : I tried to make an image but unfortunatelly from audio cd cdda I can't make an iso image .

 

I well could make an .cue   or cdrao (.toc) . But I gues it will not be threated like a real audio cd by enigma2 to simulate a cd device.

 

For dvd it's possible since there iso9960 can be made

 

Just use Brasero.

 

select Data Project.

 

add track(s)  from the CD.

 

Select iso file and press burn.

 

FTP to hdd and go with PVR butto to the iso file.

 

I did that, but no luck. Player wont start. (still at 0.00).

 

Does that .iso file works on gst-0.10 ?



Re: GStreamer 1.0 #1428 littlesat

  • PLi® Core member
  • 56,933 posts

+695
Excellent

Posted 29 June 2015 - 06:46

I would not recommend to make tricks for cuesheets.... (better use your PC for that).... When then only create them when you open the cuesheet editor....


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


Re: GStreamer 1.0 #1429 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 29 June 2015 - 06:52

oeps the iso does not content any track



Re: GStreamer 1.0 #1430 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 29 June 2015 - 06:54

I would not recommend to make tricks for cuesheets.... (better use your PC for that).... When then only create them when you open the cuesheet editor....

 

How do You mean tricks for cuesheet ?



Re: GStreamer 1.0 #1431 mx3L

  • Senior Member
  • 616 posts

+79
Good

Posted 29 June 2015 - 06:59

@christophecvr

 

I was looking into 01-enigma2-serviceMP3-cuesheet.patch

 

1. Do we need eServiceMP3::cutlistToCuesheet?, It's not part of cuesheet interface and It looks like we are not using it in any way.

2. Maybe you should add also routine to save last position like in eDVBServicePlay::stop() in servicedvb.cpp



Re: GStreamer 1.0 #1432 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 29 June 2015 - 07:23

@christophecvr

 

I was looking into 01-enigma2-serviceMP3-cuesheet.patch

 

1. Do we need eServiceMP3::cutlistToCuesheet?, It's not part of cuesheet interface and It looks like we are not using it in any way.

2. Maybe you should add also routine to save last position like in eDVBServicePlay::stop() in servicedvb.cpp

I just checked , but cutlist to cuesheet is required by loadCuesheet() , otherwise You cant load a cuts file.

 

The last play position of a file is saved in resumepoints.pkl .When You restart the box enigma2 will load that file and it does has the last play position.

 

But Yes I'll check that I can make a cut af the last play position , but ... It will show up between all the other cuts You eventually made (for media which has no TOC table by gst-1.5.1 in gst-1.5.1 if media contains a TOC chapters You cant't insert a cut or at least no cut file will be saved) . By gst-0.10 GstToc *toc does not exist. And gst-0.10 can't thread TOC entry's. But there A manual inserted cut will be set in a .cuts file (like by tsmedia). This file will be loaded upon media start like by ts media.


Edited by christophecvr, 29 June 2015 - 07:24.


Re: GStreamer 1.0 #1433 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 29 June 2015 - 07:34

 

About cd support : I tried to make an image but unfortunatelly from audio cd cdda I can't make an iso image .

 

I well could make an .cue   or cdrao (.toc) . But I gues it will not be threated like a real audio cd by enigma2 to simulate a cd device.

 

For dvd it's possible since there iso9960 can be made

 

Just use Brasero.

 

select Data Project.

 

add track(s)  from the CD.

 

Select iso file and press burn.

 

FTP to hdd and go with PVR butto to the iso file.

 

I did that, but no luck. Player wont start. (still at 0.00).

 

 I doubled checked, And yes I could make a cd iso with date (first You need to copy cd contents to a map before You can create a data cd  with .wav files as content.

 

Unfortunately this iso file is unusable in in all players (even on vlc) . You can mount it with image mounter that well. But this can't be done anymore by any player.



Re: GStreamer 1.0 #1434 mx3L

  • Senior Member
  • 616 posts

+79
Good

Posted 29 June 2015 - 07:40

1. cutListToCuesheet finds IN and OUT marks, sets them and sends evtSpanChanged event, which seams to be not handled when gstreamer service is in use.

2. Indeed, in InforbarCueSheetSupport we are first looking for last position by trying cuesheet interface, if it's not there then we load last marks from this file. I suppose it should stay like this, we don't need to share last positions with other receivers..



Re: GStreamer 1.0 #1435 mx3L

  • Senior Member
  • 616 posts

+79
Good

Posted 29 June 2015 - 07:59

 

The second patch :

  If you play a servicemp3 movie which has valid chapter information this information will be loaded as browsable position with < > remote commands button.

  An eventualy present cuts sheet file will be disregarded. The positions will not be saved in a cut file when you stop movie.

  If you would insert extra cuts(remote button 0) they will be added if You pause movie unpause movie those extra cuts remains valid.

  Once You stop movie those extra's are gone since they are not saved.

  Also here no interference with a known last play position.

 

I think another solution could be to create new type of cut marks which would be un-removable. These marks would be used for services where we cannot remove them (marks embedded in container), also they will have different color in position gauge so we can easily spot them. 

 

loadCuesheet will load user marks and container marks and saveCuesheet will save just user marks

 

What do you think?



Re: GStreamer 1.0 #1436 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 29 June 2015 - 08:34

 

 

The second patch :

  If you play a servicemp3 movie which has valid chapter information this information will be loaded as browsable position with < > remote commands button.

  An eventualy present cuts sheet file will be disregarded. The positions will not be saved in a cut file when you stop movie.

  If you would insert extra cuts(remote button 0) they will be added if You pause movie unpause movie those extra cuts remains valid.

  Once You stop movie those extra's are gone since they are not saved.

  Also here no interference with a known last play position.

 

I think another solution could be to create new type of cut marks which would be un-removable. These marks would be used for services where we cannot remove them (marks embedded in container), also they will have different color in position gauge so we can easily spot them. 

 

loadCuesheet will load user marks and container marks and saveCuesheet will save just user marks

 

What do you think?

 

Yes but this will require a lot off python work. I think creation off a seconds m_cue for toc info only then. The second m_cue info (only made if toc info avbl so only for gst-1.5.1) and then merged with existing cuesheet which was loaded from .cuts file.

 

Or perhaps the other way around. But then colors won't be possible.

 

It's well I nice think way. And canditate for further developpement gst-1.5.1 only.

 

What wel best is done now is pushing the current way patch 01 and 02 to enigma2. It's basic pretty save and solid. (no bottle necks segfaults mem leak's and so on). Then later on work it further out for the future 1.5.1 gstreamer pli images.



Re: GStreamer 1.0 #1437 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 29 June 2015 - 09:21

@Beeker did You tried this out :

1

gst-launch-1.0 -v playbin uri=cdda://4

This will play back track 4 on an audio CD in your disc drive (assuming the drive is detected automatically by the plugin)

 

It could be that the drive is not detected but I think well if its a fysical drive

 

first use init 4


Edited by christophecvr, 29 June 2015 - 09:24.


Re: GStreamer 1.0 #1438 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 29 June 2015 - 09:52

I found a way to mount a cd.iso file. But the iso is not really marked as audio cd....  It's just a data cd with .wav files as content.

 

I mounted is by my dream with :

mount supertramp.iso  /media/sr -t iso9660 -o loop

After that I created a sr map in media. then created a location.

 

Playing then is ok but it's actually a loop device.

playing 4097:0:0:0:0:0:0:0:0:0:/media/sr/Track 1.wav
< 94496.253193> [eDVBCAService] free slot 0 demux 0 for service 1:0:1:10E0:418:1:C00000:0:0:0:
< 94496.253592> [eDVBCAService] free service 1:0:1:10E0:418:1:C00000:0:0:0:
< 94496.291701> [eTSMPEGDecoder] decoder state: play, vpid=ffffffff, apid=ffffffff
< 94496.292180> [eDVBPCR0] DEMUX_STOP ok
< 94496.292761> [eDVBPCR0] destroy
< 94496.292933> [eDVBVideo0] DEMUX_STOP  ok
< 94496.294337> [eDVBVideo0] VIDEO_STOP ok
< 94496.294820> [eDVBVideo0] destroy
< 94496.295582> [eDVBAudio0] AUDIO_STOP ok
< 94496.315049> [eDVBAudio0] DEMUX_STOP ok
< 94496.315464> [eDVBAudio0] AUDIO_CONTINUE ok
< 94496.316178> [eDVBAudio0] destroy
< 94496.316470> [eDVBText0] DEMUX_STOP ok
TuxTxt stopped service 28
< 94496.324310> [eDVBText0] destroy
cleaning up
TuxTxt cache cleared
< 94496.336184> [eDVBResourceManager] start release channel timer
< 94496.340960> [eServiceMP3] construct!
< 94496.341735> [eServiceMP3] playbin uri=file:///media/sr/Track%201.wav
< 94496.404152> [eServiceMP3] starting pipeline
< 94496.527456> [eDVBDB] getBouquet failed.. no path given!
< 94496.541372> [eDVBDB] getBouquet failed.. no path given!
< 94496.552730> [eServiceMP3] no cue sheet
< 94496.565074> [eServiceMP3] state transition NULL -> READY
< 94496.716327> [eServiceMP3] gst_element_query_position failed in getPlayPosition
< 94496.720252> [eServiceMP3] gst_element_query_position failed in getPlayPosition
< 94496.722774> [eServiceMP3] gst_element_query_position failed in getPlayPosition
< 94496.725323> [eServiceMP3] gst_element_query_position failed in getPlayPosition
< 94496.729537> [eServiceMP3] gst_element_query_position failed in getPlayPosition
0:00:59.457934359  9957 0x7421f6c0 INFO            dvbaudiosink gstdvbaudiosink.c:1463:gst_dvbaudiosink_change_state:<audiosink-actual-sink-dvbaudio> GST_STATE_CHANGE_NULL_TO_READY
0:00:59.578990544  9957 0x7421f6c0 INFO            dvbaudiosink gstdvbaudiosink.c:1477:gst_dvbaudiosink_change_state:<audiosink-actual-sink-dvbaudio> GST_STATE_CHANGE_READY_TO_PAUSED
0:00:59.594619693  9957  0x207a350 INFO            dvbaudiosink gstdvbaudiosink.c:701:gst_dvbaudiosink_event:<audiosink-actual-sink-dvbaudio> EVENT stream-start
0:00:59.693116062  9957  0x207a350 INFO            dvbaudiosink gstdvbaudiosink.c:701:gst_dvbaudiosink_event:<audiosink-actual-sink-dvbaudio> EVENT caps
0:00:59.694825285  9957  0x207a350 INFO            dvbaudiosink gstdvbaudiosink.c:669:gst_dvbaudiosink_set_caps:<audiosink-actual-sink-dvbaudio> MIMETYPE audio/x-raw
0:00:59.695096507  9957  0x207a350 INFO            dvbaudiosink gstdvbaudiosink.c:679:gst_dvbaudiosink_set_caps:<audiosink-actual-sink-dvbaudio> setting dvb mode 0x0f

0:00:59.708772990  9957  0x207a350 INFO            dvbaudiosink gstdvbaudiosink.c:701:gst_dvbaudiosink_event:<audiosink-actual-sink-dvbaudio> EVENT segment
0:00:59.709071878  9957  0x207a350 INFO            dvbaudiosink gstdvbaudiosink.c:803:gst_dvbaudiosink_event:<audiosink-actual-sink-dvbaudio> GST_EVENT_SEGMENT rate=1.000000 format=3 start=0 position=0
0:00:59.709577138  9957  0x207a350 INFO            dvbaudiosink gstdvbaudiosink.c:804:gst_dvbaudiosink_event:<audiosink-actual-sink-dvbaudio> SEGMENT DVB TIMESTAMP=0 HEX=0x0
0:00:59.711003062  9957  0x207a350 INFO            dvbaudiosink gstdvbaudiosink.c:701:gst_dvbaudiosink_event:<audiosink-actual-sink-dvbaudio> EVENT tag
0:00:59.711367395  9957  0x207a350 INFO            dvbaudiosink gstdvbaudiosink.c:848:gst_dvbaudiosink_event:<audiosink-actual-sink-dvbaudio> TAG taglist, audio-codec=(string)"Uncompressed\ 16-bit\ PCM\ audio", encoder=(string)"gvfs-cdda\ using\ libcdio\ 0.83\ x86_64-pc-linux-gnu";
< 94497.187783> [eServiceMP3] state transition READY -> PAUSED
< 94497.192139> [eServiceMP3] dont apply ac3 delay when no video is running!
< 94497.193188> [eServiceMP3] dont apply pcm delay when no video is running!
< 94497.193538> [eServiceMP3] no cue sheet create cue sheet now
< 94497.194186> [eServiceMP3] cutfile not found!
0:00:59.739021914  9957 0x74228230 INFO            dvbaudiosink gstdvbaudiosink.c:1508:gst_dvbaudiosink_change_state:<audiosink-actual-sink-dvbaudio> GST_STATE_CHANGE_PAUSED_TO_PLAYING
< 94497.194896> [eServiceMP3] cutlists were disabled
< 94497.224835> [eServiceMP3] async-done - 0 video, 1 audio, 0 subtitle
< 94497.225783> [eServiceMP3] AUDIO STRUCT=audio/x-raw
< 94497.226723> [eServiceMP3] audio stream=0 codec=Uncompressed 16-bit PCM audio language=und
< 94497.256772> [eServiceMP3] state transition PAUSED -> PLAYING



Re: GStreamer 1.0 #1439 mx3L

  • Senior Member
  • 616 posts

+79
Good

Posted 29 June 2015 - 10:35

@christophecvr

Can you share some sample with TOC entries?



Re: GStreamer 1.0 #1440 christophecvr

  • Senior Member
  • 3,131 posts

+140
Excellent

Posted 29 June 2015 - 10:40

@christophecvr

Can you share some sample with TOC entries?

 

I do have one with 3 languages 3 subtitles  it's 3 gb now I try to load to drop box if ok I'll send link to you. (upload very slow by me and I'll hope not to xceed my dropbox limits.





30 user(s) are reading this topic

0 members, 30 guests, 0 anonymous users