From: schon Date: Tue, 15 Dec 2015 02:40:37 +0000 (+0900) Subject: Merge branch 'master' of code.vuplus.com:/opt/repository/openvuplus_3.0 X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_openvuplus_3.0;a=commitdiff_plain;h=dc74a8da6fb8cb83e7caa9b3403b605cd752ade7;hp=f172213e77ef5fc881692af9699c207e4337a49f Merge branch 'master' of code.vuplus.com:/opt/repository/openvuplus_3.0 --- diff --git a/meta-openvuplus/recipes-devtools/python/python/urllib2_create_unverified_context.patch b/meta-openvuplus/recipes-devtools/python/python/urllib2_create_unverified_context.patch new file mode 100644 index 0000000..fdba5e5 --- /dev/null +++ b/meta-openvuplus/recipes-devtools/python/python/urllib2_create_unverified_context.patch @@ -0,0 +1,18 @@ +commit 7ac30501e99ca139a20701f6b56be3eccacd8ea0 +Author: hschang +Date: Thu Dec 3 11:03:41 2015 +0900 + + [urllib2] Handle target environment that doesn't support HTTPS verification. + +diff --git a/Lib/urllib2.py b/Lib/urllib2.py +index 9277b1d..24e7ada 100644 +--- a/Lib/urllib2.py ++++ b/Lib/urllib2.py +@@ -112,6 +112,7 @@ except ImportError: + # check for SSL + try: + import ssl ++ ssl._create_default_https_context = ssl._create_unverified_context + except ImportError: + _have_ssl = False + else: diff --git a/meta-openvuplus/recipes-devtools/python/python_2.7.9.bbappend b/meta-openvuplus/recipes-devtools/python/python_2.7.9.bbappend index 3a509a2..589acfb 100644 --- a/meta-openvuplus/recipes-devtools/python/python_2.7.9.bbappend +++ b/meta-openvuplus/recipes-devtools/python/python_2.7.9.bbappend @@ -1,6 +1,6 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -PR .= "-vuplus0" +PR .= "-vuplus1" SRC_URI += " \ file://no-ldconfig.patch \ @@ -8,6 +8,7 @@ SRC_URI += " \ file://04-default-is-optimized.patch \ file://99-ignore-optimization-flag.patch \ file://pgettext.patch \ + file://urllib2_create_unverified_context.patch \ " EXTRA_OECONF += " \ diff --git a/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink.bb b/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink.bb index 463f697..a3fa375 100644 --- a/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink.bb +++ b/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink.bb @@ -10,12 +10,14 @@ GSTVERSION = "1.0" SRC_URI = " \ git://git.code.sf.net/p/openpli/gst-plugin-dvbmediasink;protocol=git;branch=gst-1.0 \ - file://gstreamer10_dvbmediasink_vuplus.patch \ file://dvbmediasink_h265.patch \ file://audiosink_change_message_mode_to_sync.diff \ + file://dvbmediasink_divx4.patch \ + file://audiosink_mpeg4_aac_header.patch \ + file://videosink_ffmpeg_mpeg4_nofourcc.patch \ " #SRCREV = "${AUTOREV}" -SRCREV = "1e99787f3387d3dd1e6167af73597674bf8fe37d" +SRCREV = "e83973478549ecb52067f30a3537b590d83401d6" S = "${WORKDIR}/git" @@ -23,7 +25,7 @@ inherit gitpkgv PV = "${GSTVERSION}+git${SRCPV}" PKGV = "${GSTVERSION}+git${GITPKGV}" -PR = "r3" +PR = "r5" inherit autotools pkgconfig diff --git a/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink/audiosink_mpeg4_aac_header.patch b/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink/audiosink_mpeg4_aac_header.patch new file mode 100644 index 0000000..f200d59 --- /dev/null +++ b/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink/audiosink_mpeg4_aac_header.patch @@ -0,0 +1,34 @@ +commit 73a48e31bdd977d8aa51f06388d6122dec5b8d2c +Author: hschang +Date: Thu Dec 10 14:29:53 2015 +0900 + + [gstdvbaudiosink] fix creation of ADTS header for AAC audio. + + fix according to: + https://github.com/christophecvr/gstreamer1.0-plugin-multibox-dvbmediasink/commit/0534a00ffd1341c29938547f9a1ed4d00d1c4e05 + http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=72c5c70b90c79efcf013e0e414809931815be797 + +diff --git a/gstdvbaudiosink.c b/gstdvbaudiosink.c +index f003020..20439cf 100644 +--- a/gstdvbaudiosink.c ++++ b/gstdvbaudiosink.c +@@ -479,8 +479,8 @@ static gboolean gst_dvbaudiosink_set_caps(GstBaseSink *basesink, GstCaps *caps) + guint8 h[2]; + gst_buffer_extract(gst_value_get_buffer(codec_data), 0, h, sizeof(h)); + #endif +- guint8 obj_type =((h[0] & 0xC) >> 2) + 1; +- guint8 rate_idx =((h[0] & 0x3) << 1) |((h[1] & 0x80) >> 7); ++ guint8 obj_type =h[0] >> 3; ++ guint8 rate_idx =((h[0] & 0x7) << 1) |((h[1] & 0x80) >> 7); + guint8 channels =(h[1] & 0x78) >> 3; + GST_INFO_OBJECT(self, "have codec data -> obj_type = %d, rate_idx = %d, channels = %d\n", + obj_type, rate_idx, channels); +@@ -492,7 +492,7 @@ static gboolean gst_dvbaudiosink_set_caps(GstBaseSink *basesink, GstCaps *caps) + if (mpegversion == 2) + self->aac_adts_header[1] |= 8; + /* Object type over first 2 bits */ +- self->aac_adts_header[2] = obj_type << 6; ++ self->aac_adts_header[2] = (obj_type - 1) << 6; + /* rate index over next 4 bits */ + self->aac_adts_header[2] |= rate_idx << 2; + /* channels over last 2 bits */ diff --git a/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink/dvbmediasink_divx4.patch b/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink/dvbmediasink_divx4.patch new file mode 100644 index 0000000..d2ae1b3 --- /dev/null +++ b/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink/dvbmediasink_divx4.patch @@ -0,0 +1,23 @@ +diff --git a/gstdvbvideosink.c b/gstdvbvideosink.c +index 61478f5..f50929e 100644 +--- a/gstdvbvideosink.c ++++ b/gstdvbvideosink.c +@@ -306,7 +306,6 @@ static void gst_dvbvideosink_class_init(GstDVBVideoSinkClass *self) + gstbasesink_class->unlock = GST_DEBUG_FUNCPTR (gst_dvbvideosink_unlock); + gstbasesink_class->unlock_stop = GST_DEBUG_FUNCPTR (gst_dvbvideosink_unlock_stop); + gstbasesink_class->set_caps = GST_DEBUG_FUNCPTR (gst_dvbvideosink_set_caps); +- + element_class->change_state = GST_DEBUG_FUNCPTR (gst_dvbvideosink_change_state); + + gst_dvb_videosink_signals[SIGNAL_GET_DECODER_TIME] = +@@ -1633,6 +1632,10 @@ static gboolean gst_dvbvideosink_set_caps(GstBaseSink *basesink, GstCaps *caps) + gst_buffer_ref (self->codec_data); + } + GST_INFO_OBJECT (self, "MIMETYPE video/x-divx vers. 4 -> STREAMTYPE_MPEG4_Part2"); ++#if GST_VERSION_MAJOR >= 1 ++ self->use_dts = TRUE; ++#endif ++ + break; + case 6: + case 5: diff --git a/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink/gstreamer10_dvbmediasink_vuplus.patch b/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink/gstreamer10_dvbmediasink_vuplus.patch deleted file mode 100644 index 3de4791..0000000 --- a/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink/gstreamer10_dvbmediasink_vuplus.patch +++ /dev/null @@ -1,52 +0,0 @@ -diff --git a/gstdvbaudiosink.c b/gstdvbaudiosink.c -index 2b87caa..afd5fb6 100644 ---- a/gstdvbaudiosink.c -+++ b/gstdvbaudiosink.c -@@ -270,7 +270,9 @@ static void gst_dvbaudiosink_class_init(GstDVBAudioSinkClass *self) - gstbasesink_class->event = GST_DEBUG_FUNCPTR(gst_dvbaudiosink_event); - gstbasesink_class->unlock = GST_DEBUG_FUNCPTR(gst_dvbaudiosink_unlock); - gstbasesink_class->unlock_stop = GST_DEBUG_FUNCPTR(gst_dvbaudiosink_unlock_stop); -+#if GST_VERSION_MAJOR < 1 - gstbasesink_class->set_caps = GST_DEBUG_FUNCPTR(gst_dvbaudiosink_set_caps); -+#endif - gstbasesink_class->get_caps = GST_DEBUG_FUNCPTR(gst_dvbaudiosink_get_caps); - - element_class->change_state = GST_DEBUG_FUNCPTR(gst_dvbaudiosink_change_state); -@@ -425,6 +427,11 @@ static gboolean gst_dvbaudiosink_set_caps(GstBaseSink *basesink, GstCaps *caps) - const char *type = gst_structure_get_name(structure); - t_audio_type bypass = AUDIOTYPE_UNKNOWN; - -+ if (self->bypass != AUDIOTYPE_UNKNOWN) { -+ GST_INFO_OBJECT (self, "skip set_caps, should be done only once."); -+ return TRUE; -+ } -+ - self->skip = 0; - self->aac_adts_header_valid = FALSE; - -diff --git a/gstdvbvideosink.c b/gstdvbvideosink.c -index fbebd11..657006e 100644 ---- a/gstdvbvideosink.c -+++ b/gstdvbvideosink.c -@@ -299,8 +299,9 @@ static void gst_dvbvideosink_class_init(GstDVBVideoSinkClass *self) - gstbasesink_class->event = GST_DEBUG_FUNCPTR (gst_dvbvideosink_event); - gstbasesink_class->unlock = GST_DEBUG_FUNCPTR (gst_dvbvideosink_unlock); - gstbasesink_class->unlock_stop = GST_DEBUG_FUNCPTR (gst_dvbvideosink_unlock_stop); -+#if GST_VERSION_MAJOR < 1 - gstbasesink_class->set_caps = GST_DEBUG_FUNCPTR (gst_dvbvideosink_set_caps); -- -+#endif - element_class->change_state = GST_DEBUG_FUNCPTR (gst_dvbvideosink_change_state); - - gst_dvb_videosink_signals[SIGNAL_GET_DECODER_TIME] = -@@ -1556,6 +1557,10 @@ static gboolean gst_dvbvideosink_set_caps(GstBaseSink *basesink, GstCaps *caps) - gst_buffer_ref (self->codec_data); - } - GST_INFO_OBJECT (self, "MIMETYPE video/x-divx vers. 4 -> STREAMTYPE_MPEG4_Part2"); -+#if GST_VERSION_MAJOR >= 1 -+ self->use_dts = TRUE; -+#endif -+ - break; - case 6: - case 5: diff --git a/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink/videosink_ffmpeg_mpeg4_nofourcc.patch b/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink/videosink_ffmpeg_mpeg4_nofourcc.patch new file mode 100644 index 0000000..4ddcb5a --- /dev/null +++ b/meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink/videosink_ffmpeg_mpeg4_nofourcc.patch @@ -0,0 +1,69 @@ +commit 72631c9afb1b8d94a5639c6300e9e34cd2ee6859 +Author: hschang +Date: Mon Dec 14 17:17:50 2015 +0900 + + dvbvideosink : fix no video problem with "FFmpeg MPEG-4" codec. + based on: + https://github.com/christophecvr/gstreamer1.0-plugin-multibox-dvbmediasink/commit/cefca9e0a897a806a577bc667aab8f3cc13fdad6 + +diff --git a/gstdvbvideosink.c b/gstdvbvideosink.c +index f50929e..7a4f5b4 100644 +--- a/gstdvbvideosink.c ++++ b/gstdvbvideosink.c +@@ -517,6 +517,25 @@ static gboolean gst_dvbvideosink_event(GstBaseSink *sink, GstEvent *event) + } + break; + } ++ case GST_EVENT_TAG: ++ { ++ GstTagList *taglist; ++ gst_event_parse_tag(event, &taglist); ++ gchar *vcodec_value = NULL; ++ GST_INFO_OBJECT(self,"[*] TAG %"GST_PTR_FORMAT, taglist); ++ gst_tag_list_get_string (taglist, "video-codec", &vcodec_value); ++ if (vcodec_value) ++ { ++ if(!strncmp(vcodec_value,"FFmpeg MPEG-4", 13) && self->mpeg4_no_fourcc) ++ { ++ self->stream_type = STREAMTYPE_XVID; ++ self->use_dts = TRUE; ++ GST_INFO_OBJECT (self, "[*] VIDEO_CODEC = %s, set STREAMTYPE_XVID", vcodec_value); ++ } ++ } ++ ret = GST_BASE_SINK_CLASS(parent_class)->event(sink, event); ++ break; ++ } + default: + ret = GST_BASE_SINK_CLASS(parent_class)->event(sink, event); + break; +@@ -1283,6 +1302,7 @@ static gboolean gst_dvbvideosink_set_caps(GstBaseSink *basesink, GstCaps *caps) + const char *mimetype = gst_structure_get_name (structure); + self->stream_type = STREAMTYPE_UNKNOWN; + self->must_send_header = TRUE; ++ self->mpeg4_no_fourcc = FALSE; + + GST_INFO_OBJECT (self, "caps = %" GST_PTR_FORMAT, caps); + +@@ -1320,6 +1340,9 @@ static gboolean gst_dvbvideosink_set_caps(GstBaseSink *basesink, GstCaps *caps) + fourcc = GST_STR_FOURCC(value); + switch (fourcc) + { ++ case 0: ++ self->mpeg4_no_fourcc = TRUE; ++ break; + case GST_MAKE_FOURCC('R', 'M', 'P', '4'): + case GST_MAKE_FOURCC('x', 'v', 'i', 'd'): + case GST_MAKE_FOURCC('X', 'V', 'I', 'D'): +diff --git a/gstdvbvideosink.h b/gstdvbvideosink.h +index 8577f2d..d055d4a 100644 +--- a/gstdvbvideosink.h ++++ b/gstdvbvideosink.h +@@ -117,6 +117,8 @@ struct _GstDVBVideoSink + gboolean must_send_header; + + queue_entry_t *queue; ++ ++ gboolean mpeg4_no_fourcc; + }; + + struct _GstDVBVideoSinkClass diff --git a/meta-openvuplus/recipes-vuplus/enigma2/enigma2.bb b/meta-openvuplus/recipes-vuplus/enigma2/enigma2.bb index 1459829..4469c0e 100644 --- a/meta-openvuplus/recipes-vuplus/enigma2/enigma2.bb +++ b/meta-openvuplus/recipes-vuplus/enigma2/enigma2.bb @@ -231,7 +231,7 @@ DEPENDS += "${@base_contains("VUPLUS_FEATURES", "uianimation", "libgles libvugle RDEPENDS_${PN}_append_vuplus += "${@base_contains("VUPLUS_FEATURES", "uianimation", "libvugles2" , "", d)}" PN = "enigma2" -PR = "r129" +PR = "r130" inherit gitpkgv pythonnative diff --git a/meta-openvuplus/recipes-vuplus/opera-hbbtv/opera-hbbtv_0.2.bb b/meta-openvuplus/recipes-vuplus/opera-hbbtv/opera-hbbtv_0.2.bb index 803dbcb..ac9aef1 100644 --- a/meta-openvuplus/recipes-vuplus/opera-hbbtv/opera-hbbtv_0.2.bb +++ b/meta-openvuplus/recipes-vuplus/opera-hbbtv/opera-hbbtv_0.2.bb @@ -7,7 +7,7 @@ DEPENDS = "mpfr gmp" DEPENDS += "${@base_contains("GST_VERSION", "1.0", "gstreamer1.0", "gstreamer", d)}" RDEPENDS_${PN} = "sysfsutils" -SRC_DATE = "20151001_1" +SRC_DATE = "20151213_0" PR = "r2_${SRC_DATE}" SRC_URI = "" @@ -78,6 +78,6 @@ PACKAGES = "${PN}" FILES_${PN} = "/" -SRC_URI[md5sum] = "7a36b446b8d7176b8343e6df3eeb4d90" -SRC_URI[sha256sum] = "266122d41ef7830a0595b312e882241d088ceb17c28dfa6fb4a0047155ddc3b3" +SRC_URI[md5sum] = "0b68208fa2a78b53379645df0cff02a6" +SRC_URI[sha256sum] = "aec425837a2db13700541d2d295504e33d0df0f1d8bd34218853078ba4f6e856" diff --git a/meta-openvuplus/recipes-vuplus/usbtunerhelper/usbtunerhelper.bb b/meta-openvuplus/recipes-vuplus/usbtunerhelper/usbtunerhelper.bb index 55f407e..38d0e32 100644 --- a/meta-openvuplus/recipes-vuplus/usbtunerhelper/usbtunerhelper.bb +++ b/meta-openvuplus/recipes-vuplus/usbtunerhelper/usbtunerhelper.bb @@ -4,7 +4,7 @@ LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" PV = "1.0+git${SRCPV}" -PR = "r7" +PR = "r8" SRC_REV = "" SRC_URI = " \ @@ -14,6 +14,7 @@ SRC_URI = " \ file://fix_getopt_error.patch \ file://get_avail_vtuner.patch \ file://setfrontend_ofdm_fecauto.patch \ + file://pump_proc_checksize.patch \ file://${PN}.sh \ " diff --git a/meta-openvuplus/recipes-vuplus/usbtunerhelper/usbtunerhelper/pump_proc_checksize.patch b/meta-openvuplus/recipes-vuplus/usbtunerhelper/usbtunerhelper/pump_proc_checksize.patch new file mode 100644 index 0000000..9eed97b --- /dev/null +++ b/meta-openvuplus/recipes-vuplus/usbtunerhelper/usbtunerhelper/pump_proc_checksize.patch @@ -0,0 +1,13 @@ +diff --git a/usbtunerhelper.c b/usbtunerhelper.c +index e7abc22..ae000de 100644 +--- a/usbtunerhelper.c ++++ b/usbtunerhelper.c +@@ -263,7 +263,7 @@ void *pump_proc(void *ptr) + if (_select(adapter->demux + 1, &rset, NULL, NULL, &tv) > 0) + { + int size = _read(adapter->demux, adapter->buffer, BUFFER_SIZE); +- if (_writeall(adapter->vtuner, adapter->buffer, size) <= 0) ++ if (size > 0 && _writeall(adapter->vtuner, adapter->buffer, size) <= 0) + { + break; + }