Merge branch 'master' of code.vuplus.com:/opt/repository/openvuplus_3.0
authorschon <schon@dev03-server>
Tue, 15 Dec 2015 02:40:37 +0000 (11:40 +0900)
committerschon <schon@dev03-server>
Tue, 15 Dec 2015 02:40:37 +0000 (11:40 +0900)
meta-openvuplus/recipes-devtools/python/python/urllib2_create_unverified_context.patch [new file with mode: 0644]
meta-openvuplus/recipes-devtools/python/python_2.7.9.bbappend
meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink.bb
meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink/audiosink_mpeg4_aac_header.patch [new file with mode: 0644]
meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink/dvbmediasink_divx4.patch [new file with mode: 0644]
meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink/gstreamer10_dvbmediasink_vuplus.patch [deleted file]
meta-openvuplus/recipes-multimedia/gstreamer/gstreamer1.0-plugin-dvbmediasink/videosink_ffmpeg_mpeg4_nofourcc.patch [new file with mode: 0644]
meta-openvuplus/recipes-vuplus/enigma2/enigma2.bb
meta-openvuplus/recipes-vuplus/opera-hbbtv/opera-hbbtv_0.2.bb
meta-openvuplus/recipes-vuplus/usbtunerhelper/usbtunerhelper.bb
meta-openvuplus/recipes-vuplus/usbtunerhelper/usbtunerhelper/pump_proc_checksize.patch [new file with mode: 0644]

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 (file)
index 0000000..fdba5e5
--- /dev/null
@@ -0,0 +1,18 @@
+commit 7ac30501e99ca139a20701f6b56be3eccacd8ea0
+Author: hschang <chang@dev3>
+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:
index 3a509a2..589acfb 100644 (file)
@@ -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 += " \
index 463f697..a3fa375 100644 (file)
@@ -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 (file)
index 0000000..f200d59
--- /dev/null
@@ -0,0 +1,34 @@
+commit 73a48e31bdd977d8aa51f06388d6122dec5b8d2c
+Author: hschang <chang@dev3>
+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 (file)
index 0000000..d2ae1b3
--- /dev/null
@@ -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 (file)
index 3de4791..0000000
+++ /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 (file)
index 0000000..4ddcb5a
--- /dev/null
@@ -0,0 +1,69 @@
+commit 72631c9afb1b8d94a5639c6300e9e34cd2ee6859
+Author: hschang <chang@dev3>
+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 
index 1459829..4469c0e 100644 (file)
@@ -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
 
index 803dbcb..ac9aef1 100644 (file)
@@ -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"
 
index 55f407e..38d0e32 100644 (file)
@@ -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 (file)
index 0000000..9eed97b
--- /dev/null
@@ -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;
+                       }