@Beeker can You build master-next on ubuntu 16.04 ? (gcc > 5.0)
Openpli-5 (still next master)
Re: Openpli-5 (still next master) #341
Re: Openpli-5 (still next master) #342
Re: Openpli-5 (still next master) #343
Re: Openpli-5 (still next master) #344
Re: Openpli-5 (still next master) #345
Posted 28 May 2016 - 09:31
First test with gcc 6.1.1 looks good for kernel.
I only have to add the file compiler-gcc6.h to openpli-oe-core/build/tmp/work-shared/dm8000/kernel-source/include/linux.
It isn't present when compiling with gcc 6.1.1, but with gcc 5.3.0 it is.
A patch for dreambox_3.2.bb is needed to ship the file by default.
faac_1.28 fails to compile
So some work to do...
Dreambox dm920, Uclan Ustym4Kpro, Gigablue UHD TRIO 4K and Dreambox dm8000. Wavefrontier T55 13.0|19.2|23.5|28.2 + Ziggo.
Re: Openpli-5 (still next master) #346
Posted 28 May 2016 - 18:59
Voila..
Image and feed for dm8000 with gcc 6.1.1.
One of these days, gcc 6.1.1 will be the default in OE-core.So good time to test it now.
For anyone who is interested.
Issues:
1- comiler-gcc6.h is missing.At least for dreambox.
Add a patch to linux-dreambox_3.2.bb.
file://fixme-hardfloat.patch \ file://0001-correctly-initiate-nand-flash-ecc-config-when-old-2n.patch \ + file://kernel-add-support-for-gcc6.patch \ file://defconfig \
info:
https://lkml.org/lkml/2015/4/14/576
2- Enigma2 fails to compile due to narrowing conversations error. The old code is forbidden now by gcc 6.
Patch:
diff --git a/lib/base/estring.cpp b/lib/base/estring.cpp index 6fd53fc..4258ddb 100644 --- a/lib/base/estring.cpp +++ b/lib/base/estring.cpp @@ -10,8 +10,8 @@ std::string buildShortName( const std::string &str ) { std::string tmp; - static char stropen[3] = { 0xc2, 0x86, 0x00 }; - static char strclose[3] = { 0xc2, 0x87, 0x00 }; + const static char stropen[3] = { (char)0xc2, (char)0x86, (char)0x00 }; + const static char strclose[3] = { (char)0xc2, (char)0x87, (char)0x00 }; size_t open=std::string::npos-1; while ( (open = str.find(stropen, open+2)) != std::string::npos ) {
Info how to,why.(i used this as a example how to).
https://github.com/g...0d68c7ce01979cd
3- iperf fails to compile.
Solution. Upgrade to 3.1.2
In openpli-enigma2-feed.bb
hddtemp \ hdparm \ inadyn-mt \ - iperf \ + iperf3 \ joe \ libbluray \ libudfread
Attached Files
Dreambox dm920, Uclan Ustym4Kpro, Gigablue UHD TRIO 4K and Dreambox dm8000. Wavefrontier T55 13.0|19.2|23.5|28.2 + Ziggo.
Re: Openpli-5 (still next master) #347
Posted 29 May 2016 - 11:53
Problem faac also solved.
bbappend and patch for copy to openpli-oe-core/meta-openpli/recipes-multimedia.
Now just wait at guys of OE-core to putt gcc6 in master.It is now in master-next.
And wait at openpli-dev's to update OE-core in openpli-core of master-next.
But in git master HEAD of OE-core more problems like giflib.
Anyway..gcc6 feels faster than 5.3.0. In build-environment and E2 is faster with restart
Attached Files
Dreambox dm920, Uclan Ustym4Kpro, Gigablue UHD TRIO 4K and Dreambox dm8000. Wavefrontier T55 13.0|19.2|23.5|28.2 + Ziggo.
Re: Openpli-5 (still next master) #348
Re: Openpli-5 (still next master) #349
Posted 1 June 2016 - 10:59
Yes indeed autoresolution plugin :
make[2]: Entering directory `/home/christophe/openpli50/openpli-oe-core/build/tmp/work/mips32el-oe-linux/enigma2-plugins/y-gitAUTOINC+5351434537-r0/git/autoresolution' | make[2]: *** No rule to make target `cs.mo', needed by `all'. Stop. | make[2]: Leaving directory `/home/christophe/openpli50/openpli-oe-core/build/tmp/work/mips32el-oe-linux/enigma2-plugins/y-gitAUTOINC+5351434537-r0/git/autoresolution' | make[1]: *** [all-recursive] Error 1 | make[1]: Leaving directory `/home/christophe/openpli50/openpli-oe-core/build/tmp/work/mips32el-oe-linux/enigma2-plugins/y-gitAUTOINC+5351434537-r0/git' | make: *** [all] Error 2 | ERROR: oe_runmake failed | ERROR: Function failed: do_compile (log file is located at /home/christophe/openpli50/openpli-oe-core/build/tmp/work/mips32el-oe-linux/enigma2-plugins/y-gitAUTOINC+5351434537-r0/temp/log.do_compile.13564) ERROR: Task 122 (/home/christophe/openpli50/openpli-oe-core/meta-openpli/recipes-openpli/enigma2-plugins/enigma2-plugins.bb, do_compile) failed with exit code '1'
Re: Openpli-5 (still next master) #350
Re: Openpli-5 (still next master) #351
Posted 1 June 2016 - 11:47
Yes also checked that the base pli4 standard image self from pli build server did not build due to the merge 17 hours ago :
where the culprit commit was included:
https://github.com/O...5d006dfdf0a0236
also the pli server did not build the last recipes since this has been merged 17 hours ago :
https://github.com/O...296223c25df7a4a
Re: Openpli-5 (still next master) #352
Re: Openpli-5 (still next master) #353
Re: Openpli-5 (still next master) #354
Re: Openpli-5 (still next master) #355
Posted 5 June 2016 - 22:51
Enigma2 next-master.
I noticed that a program like for example handbrake version 0.10.5 or greater when adding srt subtitles before rendering the media,
does add a blank line at the end off string to the imported reencoded srt to ssa codec. By 0.10.2 this was not the case. It is clear that this is a bug.
In e2 the result is that You're real subittle off one line will become 2 lines which means the subittle self and a extra blank line. That of 2 lines will become 3 lines the 2 off the sub + one blank line.
The user will see this as a subtittle which is printed one line higher which is very annoying.
Other players like vlc(which uses ffmpeg) or totem-gstreamer( standard ubuntu videoplayer which is using gst-1.x now) do solve this issue by stripping the last return (new line ) '\n'.
Here the patch for next-master to solve this like other players did.
Attached Files
Re: Openpli-5 (still next master) #356
Posted 6 June 2016 - 14:47
Just enabel reformat mode and every additional whitespace is killed.
* 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: Openpli-5 (still next master) #357
Posted 6 June 2016 - 15:23
Just enabel reformat mode and every additional whitespace is killed.
->
But this will break the original intended line break from the subtitels.... which is also sometimes not wanted...
When no removing a \n at the end of the subtitle the subs are displayed one raw too high...
Edited by littlesat, 6 June 2016 - 15:24.
WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W
Re: Openpli-5 (still next master) #358
Posted 6 June 2016 - 16:34
Just enabel reformat mode and every additional whitespace is killed.
It is not the white space which cause the problem but the line return which is wrong, yes it's a bug from the muxers/encoders program (and a severe one). All other players (vlc and totem anyway do it) just solved that by just removing the '\n' at the end off string since that is wrong.
But it's evident that Handbrake apart from adding an wrong line break (new line at the end off the subtiitles) add's a space and a line brake both wrong. Reformat will not remove the line break.
I filed an issue report to HandBrake :
https://github.com/H...rake/issues/215
There You can see what is happening whit the hex analyse off the presented string.
Handrake 0.10.2 ok
Handbrake 0.10.5 and higher adds by each subtittle an extra space and new-line. (extra 0x20 and 0x0A char). Just cause other players by default if a \n was present at the end off string the \n was stripped. I just do the same in e2 , in the mean time a lot off media has already been made with the bug into it concerning subtitles. And this issue remained undetected just cause most other players did not suffered from it. By e2 well. Since every subtittle wil have an extra blank line to it. Result is that all subtiitles are showing to high in e2.
Since we are working in cpp and work further with the cpp string passed to std:: map std::pair. Just the code adaptation by a extra rules in function void eServiceMP3::pullSubtitle(GstBuffer *buffer) do solve the issue.
Code change from
void eServiceMP3::pullSubtitle(GstBuffer *buffer) { if (buffer && m_currentSubtitleStream >= 0 && m_currentSubtitleStream < (int)m_subtitleStreams.size()) { if (m_change_aktif_subtitle == 1) { pts_t ppos = 0; if (getPlayPosition(ppos) >= 0) { /* seek flush */ seekTo(ppos); } m_change_aktif_subtitle = 0; } #if GST_VERSION_MAJOR < 1 gint64 buf_pos = GST_BUFFER_TIMESTAMP(buffer); size_t len = GST_BUFFER_SIZE(buffer); #else GstMapInfo map; if(!gst_buffer_map(buffer, &map, GST_MAP_READ)) { eLog(3, "[eServiceMP3] pullSubtitle gst_buffer_map failed"); return; } gint64 buf_pos = GST_BUFFER_PTS(buffer); size_t len = map.size; eLog(6, "[eServiceMP3] gst_buffer_get_size %zu map.size %zu", gst_buffer_get_size(buffer), len); #endif gint64 duration_ns = GST_BUFFER_DURATION(buffer); int subType = m_subtitleStreams[m_currentSubtitleStream].type; eLog(6, "[eServiceMP3] pullSubtitle type=%d size=%zu", subType, len); if ( subType ) { if ( subType < stVOB ) { int delay = eConfigManager::getConfigIntValue("config.subtitles.pango_subtitles_delay"); int subtitle_fps = eConfigManager::getConfigIntValue("config.subtitles.pango_subtitles_fps"); double convert_fps = 1.0; if (subtitle_fps > 1 && m_framerate > 0) convert_fps = subtitle_fps / (double)m_framerate; #if GST_VERSION_MAJOR < 1 std::string line((const char*)GST_BUFFER_DATA(buffer), len); #else std::string line((const char*)map.data, len); #endif eLog(4, "[eServiceMP3] got new text subtitle @ buf_pos = %lld ns (in pts=%lld), dur=%lld: '%s' ", buf_pos, buf_pos/11111, duration_ns, line.c_str()); uint32_t start_ms = ((buf_pos / 1000000ULL) * convert_fps) + (delay / 90); uint32_t end_ms = start_ms + (duration_ns / 1000000ULL); m_subtitle_pages.insert(subtitle_pages_map_pair_t(end_ms, subtitle_page_t(start_ms, end_ms, line))); m_subtitle_sync_timer->start(1, true); } else { eLog(3, "[eServiceMP3] unsupported subpicture... ignoring"); } } #if GST_VERSION_MAJOR >= 1 gst_buffer_unmap(buffer, &map); #endif } }
to :
void eServiceMP3::pullSubtitle(GstBuffer *buffer) { if (buffer && m_currentSubtitleStream >= 0 && m_currentSubtitleStream < (int)m_subtitleStreams.size()) { if (m_change_aktif_subtitle == 1) { pts_t ppos = 0; if (getPlayPosition(ppos) >= 0) { /* seek flush */ seekTo(ppos); } m_change_aktif_subtitle = 0; } #if GST_VERSION_MAJOR < 1 gint64 buf_pos = GST_BUFFER_TIMESTAMP(buffer); size_t len = GST_BUFFER_SIZE(buffer); #else GstMapInfo map; if(!gst_buffer_map(buffer, &map, GST_MAP_READ)) { eLog(3, "[eServiceMP3] pullSubtitle gst_buffer_map failed"); return; } gint64 buf_pos = GST_BUFFER_PTS(buffer); size_t len = map.size; eLog(6, "[eServiceMP3] gst_buffer_get_size %zu map.size %zu", gst_buffer_get_size(buffer), len); #endif gint64 duration_ns = GST_BUFFER_DURATION(buffer); int subType = m_subtitleStreams[m_currentSubtitleStream].type; eLog(6, "[eServiceMP3] pullSubtitle type=%d size=%zu", subType, len); if ( subType ) { if ( subType < stVOB ) { int delay = eConfigManager::getConfigIntValue("config.subtitles.pango_subtitles_delay"); int subtitle_fps = eConfigManager::getConfigIntValue("config.subtitles.pango_subtitles_fps"); double convert_fps = 1.0; if (subtitle_fps > 1 && m_framerate > 0) convert_fps = subtitle_fps / (double)m_framerate; #if GST_VERSION_MAJOR < 1 std::string line((const char*)GST_BUFFER_DATA(buffer), len); #else std::string line((const char*)map.data, len); #endif /* some media muxers do add an extra new line at the end off a muxed/reencoded srt to ssa codec yes that's a bug but looks like a lot off encoders do it now (ffmpeg bug ?) */ if (!line.empty() && line[line.length()-1] == '\n') line.erase(line.length()-1); eLog(4, "[eServiceMP3] got new text subtitle @ buf_pos = %lld ns (in pts=%lld), dur=%lld: '%s' ", buf_pos, buf_pos/11111, duration_ns, line.c_str()); uint32_t start_ms = ((buf_pos / 1000000ULL) * convert_fps) + (delay / 90); uint32_t end_ms = start_ms + (duration_ns / 1000000ULL); m_subtitle_pages.insert(subtitle_pages_map_pair_t(end_ms, subtitle_page_t(start_ms, end_ms, line))); m_subtitle_sync_timer->start(1, true); } else { eLog(3, "[eServiceMP3] unsupported subpicture... ignoring"); } } #if GST_VERSION_MAJOR >= 1 gst_buffer_unmap(buffer, &map); #endif } }
Does solve the issue.
added :
if (!line.empty() && line[line.length()-1] == '\n') line.erase(line.length()-1);
to strip the wrong new line at the end of string.
Edited by christophecvr, 6 June 2016 - 16:35.
Re: Openpli-5 (still next master) #359
Posted 7 June 2016 - 13:09
Here a patch to servicemp3 concerning subtitles for e2 next-master only.
This patch does contain 3 patches .
The first is the ssa codec issue so do not use the patch on toppic http://forums.openpl...ndpost&p=551228 anymore.
The second adapted the possibility to still use internal (ssa subtitles) if and external subtitle(srt) file has been added.
Now it's possible to switch to an internal subtitle the cache off external will be cleared.
Then switching between several internal subtitles if there are several ones no problem anymore. Switching back to the extrenal file also ok.
Disabling reanibling external or internal subtitle ok.
The third is to solve a little issue one changing subtitle if media is paused.
general very extended testings on duo2 and dm8000.
Duo2.
switching between internal subtitles only 100 % enabling disabling 100 %
When an external subtitle was aktif and you switch to a avbl internal subtitle it may happen that the internal (very rare) that the internal does not start.
An automated solution for that was not possible, but what does work is disabling and re-enabling the subtitle.
How ?? double push yellow button and ok will disable the aktif sub. Then again double push yellow button and select again the subtitle you wanted.
dm8000 idem dito.
except with dts audio who uses downmix it may cause a freeze. (that is due to the driver off dm8000 hack required to keep audio in sink)
Keep in mind that if you use media with dts audio and external subtitle First deselect the external (double yellow and ok). Then only reselect the wanted internal if avbl (sorry on dm8000 driver I can't change anything).
Attached Files
Re: Openpli-5 (still next master) #360
Posted 7 June 2016 - 15:20
Just my comments...
I would to like two seperate patches...
The red line below is not required... and instead of 1 or 2 we could give it some defined name...
WaveFrontier 28.2E | 23.5E | 19.2E | 16E | 13E | 10/9E | 7E | 5E | 1W | 4/5W | 15W
11 user(s) are reading this topic
0 members, 11 guests, 0 anonymous users