Skip to contentSkip to conversation

package/kodi: Bump version to 14.0-Helix

PATCH New Bernd Kuhls 2 participants 23 messages Dec 23, 2014 – Jan 4, 2015

lore
Share & tools
lore
#0 lore raw

v9 cover package/kodi: Bump version to 14.0-Helix

Hi,

the follow-up version of XBMC 13.x-Gotham is called Kodi and was released today.

This patchset consists of two preparatory patches each to rename the packages, splitted for easier review, and one patch each for the real version bumps along with some version bumps and new packages to be used with optical drives.

Regards, Bernd

v9: - rebased
- bumped Kodi to 14.0-Helix
- bumped kodi-pvr-addons
- rebased kodi specific ffmpeg-patches against Kodi upstream
- added ffmpeg version bump

v8: - rebased
- bumped Kodi to 14.0rc3-Helix
- bumped kodi-pvr-addons
- bumped kodi-audioencoder-flac
- rebased kodi specific ffmpeg-patches against ffmpeg-2.5

v7: - rebased
- bumped Kodi to 14.0b5-Helix
- bumped kodi-pvr-addons

v6: - rebased
- bumped Kodi to 14.0b3-Helix
- bumped audioencoder addons
- renamed xbmc-pvr-addons to kodi-pvr-addons
- renamed xbmc-addon-xvdr to kodi-addon-xvdr
- bumped kodi-pvr-addons, removed dependencies to boost & mysql

v5: - rebased
- bumped Kodi to 14.0b2-Helix
- bumped libcec to 2.2.0, Helix depends on this version
- bumped audioencoder addons

v4: - rebased
- renamed package/kodi-audioencoder-wav/kodi-audioencoder-flac.mk to package/kodi-audioencoder-wav/kodi-audioencoder-wav.mk
- added option BR2_PACKAGE_KODI_OPTICALDRIVE to enable support for optical drives
- audioencoder addons depend in BR2_PACKAGE_KODI_OPTICALDRIVE, see
https://github.com/OpenELEC/OpenELEC.tv/blob/master/packages/virtual/mediacenter/package.mk#L46

v3: - rebased
- added audioenconder addons, Kodi now needs to be installed to STAGING_DIR
- kodi: removed dependency to flac, backported from upstream master
- bumped xbmc-pvr-addons
- bumped xbmc-addon-xvdr
- note: kodi specific ffmpeg-patches no longer depend on
http://patchwork.ozlabs.org/patch/396911/
patch was committed to buildroot

v2: - rebased: - _CONF_OPT -> _CONF_OPTS
- added notes to "Rename XBMC to Kodi"-patches, they are meant to be committed together (Yann)
- kodi specific ffmpeg-patches are now a seperate commit (Yann), depends on http://patchwork.ozlabs.org/patch/396911/
- ffmpeg is now compiled dynamically, ported from
https://github.com/OpenELEC/OpenELEC.tv/commit/ba586280

Bernd Kuhls (18):
package/ffmpeg: bump version to 2.5.2
package/libcec: Bump to version 2.2.0
package/ffmpeg: Add Kodi patchset
Rename XBMC to Kodi - part I - move files
Rename XBMC to Kodi - part II - rename variables package/kodi: Bump version to 14.0-Helix
Rename xbmc-pvr-addons to kodi-pvr-addons - part I - move files Rename xbmc-pvr-addons to kodi-pvr-addons - part II - rename
variables
package/kodi-pvr-addons: Bump version for Helix-compatibility Rename xbmc-addon-xvdr to kodi-addon-xvdr - part I - move files Rename xbmc-addon-xvdr to kodi-addon-xvdr - part II - rename
variables
package/kodi-addon-xvdr: Bump version for Helix-compatibility package/kodi: New option to enable support for optical drives package/kodi: Enable install to STAGING_DIR, needed for audioencoder
addons
package/kodi-audioencoder-flac: New package package/kodi-audioencoder-lame: New package package/kodi-audioencoder-vorbis: New package package/kodi-audioencoder-wav: New package

Signature · 1 line
1.7.10.4
#1 lore raw

PATCH v9 1/18 package/ffmpeg: bump version to 2.5.2

---
 package/ffmpeg/ffmpeg.mk |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/ffmpeg/ffmpeg.mk +1 -1
index 12f546d..b74a59a 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-FFMPEG_VERSION = 2.5.1
+FFMPEG_VERSION = 2.5.2
 FFMPEG_SOURCE = ffmpeg-$(FFMPEG_VERSION).tar.bz2
 FFMPEG_SITE = http://ffmpeg.org/releases
 FFMPEG_INSTALL_STAGING = YES
Signature · 1 line
1.7.10.4
#2 lore raw

PATCH v9 2/18 package/libcec: Bump to version 2.2.0

In reply to Bernd Kuhls

Kodi Helix depends on libcec >= 2.2.0

Removed libcec-0001-Fix-unregistering-a-callback-that-wasn-t-register.patch applied upstream: https://github.com/Pulse-Eight/libcec/commit/485660f

Renamed remaining patch according to new naming convention.

---
 ...i-warning.patch => 0001-no-psabi-warning.patch} |    0
 ...gistering-a-callback-that-wasn-t-register.patch |   36 --------------------
 package/libcec/libcec.mk                           |    2 +-
 3 files changed, 1 insertion(+), 37 deletions(-)
 rename package/libcec/{libcec-0002-no-psabi-warning.patch => 0001-no-psabi-warning.patch} (100%)
 delete mode 100644 package/libcec/libcec-0001-Fix-unregistering-a-callback-that-wasn-t-register.patch
package/libcec/0001-no-psabi-warning.patch renamed from package/libcec/libcec-0002-no-psabi-warning.patch +0 -0
similarity index 100%
rename from package/libcec/libcec-0002-no-psabi-warning.patch
rename to package/libcec/0001-no-psabi-warning.patch
package/libcec/libcec-0001-Fix-unregistering-a-callback-that-wasn-t-register.patch deleted +0 -36
deleted file mode 100644
index 41d93aa..0000000
@@ -1,36 +0,0 @@
-From 78e52d55d6fc079b9a96d1a663d1991d9a0f2a2b Mon Sep 17 00:00:00 2001
-From: Maxime Hadjinlian <[email protected]>
-Date: Wed, 7 May 2014 08:41:27 +0200
-Subject: [PATCH] Fix unregistering a callback that wasn't register
-
-This patchs fixes an asserts that get's thrown when you start XBMC and thus
-prevents it from starting.
-The asserts you'll endup getting is:
-assertion failure:
-[...]/interface/vmcs_host/vc_vchi_tvservice.c:430:vc_tv_unregister_callback():done
-
-Found: https://github.com/raspberrypi/userland/issues/159
-
-Signed-off-by: Maxime Hadjinlian <[email protected]>
----
- src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp b/src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp
-index 76c61b3..1eb6417 100644
---- a/src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp
-+++ b/src/lib/adapter/RPi/RPiCECAdapterCommunication.cpp
-@@ -353,7 +353,9 @@ void CRPiCECAdapterCommunication::Close(void)
-     else
-       return;
-   }
--  vc_tv_unregister_callback(rpi_tv_callback);
-+
-+  if (m_bInitialised)
-+    vc_tv_unregister_callback(rpi_tv_callback);
-
-   UnregisterLogicalAddress();
-
---
-1.9.2
-
package/libcec/libcec.mk +1 -1
index 5a889b9..8bdc9ea 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-LIBCEC_VERSION = libcec-2.1.4-repack
+LIBCEC_VERSION = libcec-2.2.0-repack
 LIBCEC_SITE = $(call github,Pulse-Eight,libcec,$(LIBCEC_VERSION))
 LIBCEC_LICENSE = GPLv2+
 LIBCEC_LICENSE_FILES = COPYING
Signature · 1 line
1.7.10.4
#3 lore raw

PATCH v9 3/18 package/ffmpeg: Add Kodi patchset

In reply to Bernd Kuhls

In the past xbmc delivered its own ffmpeg source code with specific patches to address bugs found during the use of xbmc. For Helix the ffmpeg source code was removed, Helix uses a vanilla ffmpeg source tarball and applies this patchset on top of it.

Downloaded from
https://github.com/xbmc/FFmpeg/compare/FFmpeg:release/2.5...release/2.5-xbmc.patch

---
 package/ffmpeg/0001-kodi.patch |  610 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 610 insertions(+)
 create mode 100644 package/ffmpeg/0001-kodi.patch
package/ffmpeg/0001-kodi.patch new file +610 -0
new file mode 100644
index 0000000..dba5dc4
@@ -0,0 +1,610 @@
+In the past xbmc delivered its own ffmpeg source code with specific patches to
+address bugs found during the use of xbmc. For Kodi Helix the ffmpeg source code
+was removed, Helix uses a vanilla ffmpeg source tarball and applies this patchset
+on top of it.
+
+Downloaded from
+https://github.com/xbmc/FFmpeg/compare/FFmpeg:release/2.5...release/2.5-xbmc.patch
+
+Signed-off-by: Bernd Kuhls <[email protected]>
+
+From 74f1c9b43b191a9d6b494e90a4a11677fca33c13 Mon Sep 17 00:00:00 2001
+From: Joakim Plate <[email protected]>
+Date: Sun, 11 Sep 2011 19:04:51 +0200
+Subject: [PATCH 01/13] Support raw dvdsub palette as stored on normal dvd's
+
+This is how the palette is stored on dvd's. Currently
+only xbmc passes the palette information to libavcodec
+this way.
+---
+ libavcodec/dvdsubdec.c | 24 ++++++++++++++++++++++++
+ 1 file changed, 24 insertions(+)
+
+diff --git a/libavcodec/dvdsubdec.c b/libavcodec/dvdsubdec.c
+index 39604f3..a711e16 100644
+--- a/libavcodec/dvdsubdec.c
++++ b/libavcodec/dvdsubdec.c
+@@ -64,6 +64,24 @@ static void yuv_a_to_rgba(const uint8_t *ycbcr, const uint8_t *alpha, uint32_t *
+     }
+ }
+ 
++static void ayvu_to_argb(const uint8_t *ayvu, uint32_t *argb, int num_values)
++{
++    uint8_t *cm = ff_crop_tab + MAX_NEG_CROP;
++    uint8_t r, g, b;
++    int i, y, cb, cr, a;
++    int r_add, g_add, b_add;
++
++    for (i = num_values; i > 0; i--) {
++        a = *ayvu++;
++        y = *ayvu++;
++        cr = *ayvu++;
++        cb = *ayvu++;
++        YUV_TO_RGB1_CCIR(cb, cr);
++        YUV_TO_RGB2_CCIR(r, g, b, y);
++        *argb++ = (a << 24) | (r << 16) | (g << 8) | b;
++    }
++}
++
+ static int decode_run_2bit(GetBitContext *gb, int *color)
+ {
+     unsigned int v, t;
+@@ -697,6 +715,12 @@ static av_cold int dvdsub_init(AVCodecContext *avctx)
+         parse_ifo_palette(ctx, ctx->ifo_str);
+     if (ctx->palette_str)
+         parse_palette(ctx, ctx->palette_str);
++
++    if (!ctx->has_palette && avctx->extradata_size == 64) {
++        ayvu_to_argb((uint8_t*)avctx->extradata, ctx->palette, 16);
++        ctx->has_palette = 1;
++    }
++
+     if (ctx->has_palette) {
+         int i;
+         av_log(avctx, AV_LOG_DEBUG, "palette:");
+
+From fbd0b8b0239d3786b941adc89322b8e49e4c768e Mon Sep 17 00:00:00 2001
+From: Joakim Plate <[email protected]>
+Date: Mon, 12 Sep 2011 21:37:17 +0200
+Subject: [PATCH 02/13] asf hacks
+
+---
+ libavformat/asfdec.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/libavformat/asfdec.c b/libavformat/asfdec.c
+index 7f7bb4d..8911987 100644
+--- a/libavformat/asfdec.c
++++ b/libavformat/asfdec.c
+@@ -1549,9 +1549,20 @@ static int asf_read_seek(AVFormatContext *s, int stream_index,
+     AVStream *st    = s->streams[stream_index];
+     int ret = 0;
+ 
++    if (pts == 0) {
++      // this is a hack since av_gen_search searches the entire file in this case
++      av_log(s, AV_LOG_DEBUG, "SEEKTO: %"PRId64"\n", s->data_offset);
++      if (avio_seek(s->pb, s->data_offset, SEEK_SET) < 0)
++          return -1;
++      return 0;
++    }
++
+     if (s->packet_size <= 0)
+         return -1;
+ 
++    if (st->codec->codec_type != AVMEDIA_TYPE_VIDEO)
++        return -1;
++
+     /* Try using the protocol's read_seek if available */
+     if (s->pb) {
+         int ret = avio_seek_time(s->pb, stream_index, pts, flags);
+
+From 54200b3e6009c6870e33c02c8bbcf023fcd92cac Mon Sep 17 00:00:00 2001
+From: Cory Fields <[email protected]>
+Date: Mon, 28 Jun 2010 01:55:31 -0400
+Subject: [PATCH 03/13] if av_read_packet returns AVERROR_IO, we are done.
+ ffmpeg's codecs might or might not handle returning any completed demuxed
+ packets correctly
+
+---
+ libavformat/utils.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/libavformat/utils.c b/libavformat/utils.c
+index ae6347a..3e8af50 100644
+--- a/libavformat/utils.c
++++ b/libavformat/utils.c
+@@ -1304,6 +1304,8 @@ static int read_frame_internal(AVFormatContext *s, AVPacket *pkt)
+         if (ret < 0) {
+             if (ret == AVERROR(EAGAIN))
+                 return ret;
++            if (ret == AVERROR(EIO))
++                return ret;
+             /* flush the parsers */
+             for (i = 0; i < s->nb_streams; i++) {
+                 st = s->streams[i];
+
+From e9236f6fe3fae1ad4a3a2b6b63db493b083f0b21 Mon Sep 17 00:00:00 2001
+From: Cory Fields <[email protected]>
+Date: Mon, 28 Jun 2010 02:10:50 -0400
+Subject: [PATCH 04/13] added: Ticket #7187, TV Teletext support for DVB EBU
+ Teletext streams
+
+---
+ libavcodec/avcodec.h | 4 ++++
+ libavformat/mpegts.c | 2 ++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
+index dabae1b..dd6ef3f 100644
+--- a/libavcodec/avcodec.h
++++ b/libavcodec/avcodec.h
+@@ -520,6 +520,10 @@ enum AVCodecID {
+     AV_CODEC_ID_PJS        = MKBETAG('P','h','J','S'),
+     AV_CODEC_ID_ASS        = MKBETAG('A','S','S',' '),  ///< ASS as defined in Matroska
+ 
++    /* data codecs */
++    AV_CODEC_ID_VBI_DATA= 0x17500,
++    AV_CODEC_ID_VBI_TELETEXT,
++
+     /* other specific kind of codecs (generally used for attachments) */
+     AV_CODEC_ID_FIRST_UNKNOWN = 0x18000,           ///< A dummy ID pointing at the start of various fake codecs.
+     AV_CODEC_ID_TTF = 0x18000,
+diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
+index 97da0a3..5dd28f1 100644
+--- a/libavformat/mpegts.c
++++ b/libavformat/mpegts.c
+@@ -729,6 +729,8 @@ static const StreamType DESC_types[] = {
+     { 0x7b, AVMEDIA_TYPE_AUDIO,    AV_CODEC_ID_DTS          },
+     { 0x56, AVMEDIA_TYPE_SUBTITLE, AV_CODEC_ID_DVB_TELETEXT },
+     { 0x59, AVMEDIA_TYPE_SUBTITLE, AV_CODEC_ID_DVB_SUBTITLE }, /* subtitling descriptor */
++    { 0x45, AVMEDIA_TYPE_DATA,         AV_CODEC_ID_VBI_DATA }, /* VBI Data descriptor */
++    { 0x46, AVMEDIA_TYPE_DATA,     AV_CODEC_ID_VBI_TELETEXT }, /* VBI Teletext descriptor */
+     { 0 },
+ };
+ 
+
+From 1f48ee2290e9041b0371eb9a9cb742e9568930a1 Mon Sep 17 00:00:00 2001
+From: Joakim Plate <[email protected]>
+Date: Sun, 18 Sep 2011 19:16:34 +0200
+Subject: [PATCH 05/13] Don't accept mpegts PMT that isn't current
+
+---
+ libavformat/mpegts.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
+index 5dd28f1..9f85aed 100644
+--- a/libavformat/mpegts.c
++++ b/libavformat/mpegts.c
+@@ -572,6 +572,7 @@ typedef struct SectionHeader {
+     uint8_t tid;
+     uint16_t id;
+     uint8_t version;
++    uint8_t current;
+     uint8_t sec_num;
+     uint8_t last_sec_num;
+ } SectionHeader;
+@@ -643,6 +644,7 @@ static int parse_section_header(SectionHeader *h,
+     val = get8(pp, p_end);
+     if (val < 0)
+         return val;
++    h->current = val & 0x1;
+     h->version = (val >> 1) & 0x1f;
+     val = get8(pp, p_end);
+     if (val < 0)
+@@ -1968,6 +1970,8 @@ static void pat_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
+         return;
+     if (ts->skip_changes)
+         return;
++    if (!h->current)
++        return;
+ 
+     ts->stream->ts_id = h->id;
+ 
+
+From db98fbe37f2f7175ff03b8d582e940518ddf3642 Mon Sep 17 00:00:00 2001
+From: Joakim Plate <[email protected]>
+Date: Sun, 18 Sep 2011 19:17:23 +0200
+Subject: [PATCH 06/13] Don't reparse PMT unless it's version has changed
+
+---
+ libavformat/mpegts.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
+index 9f85aed..25007a6 100644
+--- a/libavformat/mpegts.c
++++ b/libavformat/mpegts.c
+@@ -88,6 +88,7 @@ struct MpegTSFilter {
+     int es_id;
+     int last_cc; /* last cc code (-1 if first packet) */
+     int64_t last_pcr;
++    int last_version; /* last version of data on this pid */
+     enum MpegTSFilterType type;
+     union {
+         MpegTSPESFilter pes_filter;
+@@ -450,6 +451,7 @@ static MpegTSFilter *mpegts_open_filter(MpegTSContext *ts, unsigned int pid,
+     filter->es_id   = -1;
+     filter->last_cc = -1;
+     filter->last_pcr= -1;
++    filter->last_version = -1;
+ 
+     return filter;
+ }
+@@ -1972,6 +1974,10 @@ static void pat_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
+         return;
+     if (!h->current)
+         return;
++    if (h->version == filter->last_version)
++        return;
++    filter->last_version = h->version;
++    av_dlog(ts->stream, "version=%d\n", filter->last_version);
+ 
+     ts->stream->ts_id = h->id;
+ 
+
+From fdd8caea6535434a877587f5325e914ba50ed17f Mon Sep 17 00:00:00 2001
+From: Cory Fields <[email protected]>
+Date: Fri, 9 Jul 2010 16:43:31 -0400
+Subject: [PATCH 07/13] Read PID timestamps as well as PCR timestamps to find
+ location in mpegts stream
+
+---
+ libavformat/mpegts.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 46 insertions(+), 2 deletions(-)
+
+diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
+index 25007a6..d5a8a45 100644
+--- a/libavformat/mpegts.c
++++ b/libavformat/mpegts.c
+@@ -2459,6 +2459,44 @@ static void seek_back(AVFormatContext *s, AVIOContext *pb, int64_t pos) {
+         av_log(s, pb->seekable ? AV_LOG_ERROR : AV_LOG_INFO, "Unable to seek back to the start\n");
+ }
+ 
++static int parse_timestamp(int64_t *ts, const uint8_t *buf)
++{
++    int afc, flags;
++    const uint8_t *p;
++
++    if(!(buf[1] & 0x40)) /* must be a start packet */
++        return -1;
++
++    afc = (buf[3] >> 4) & 3;
++    p = buf + 4;
++    if (afc == 0 || afc == 2) /* invalid or only adaption field */
++        return -1;
++    if (afc == 3)
++        p += p[0] + 1;
++    if (p >= buf + TS_PACKET_SIZE)
++        return -1;
++
++    if (p[0] != 0x00 || p[1] != 0x00 || p[2] != 0x01)  /* packet_start_code_prefix */
++        return -1;
++
++    flags = p[3] | 0x100; /* stream type */
++    if (!((flags >= 0x1c0 && flags <= 0x1df) ||
++          (flags >= 0x1e0 && flags <= 0x1ef) ||
++          (flags == 0x1bd) || (flags == 0x1fd)))
++        return -1;
++
++    flags = p[7];
++    if ((flags & 0xc0) == 0x80) {
++        *ts = ff_parse_pes_pts(p+9);
++        return 0;
++    } else if ((flags & 0xc0) == 0xc0) {
++        *ts = ff_parse_pes_pts(p+9+5);
++        return 0;
++    }
++    return -1;
++}
++
++
+ static int mpegts_read_header(AVFormatContext *s)
+ {
+     MpegTSContext *ts = s->priv_data;
+@@ -2658,6 +2696,7 @@ static av_unused int64_t mpegts_get_pcr(AVFormatContext *s, int stream_index,
+     uint8_t buf[TS_PACKET_SIZE];
+     int pcr_l, pcr_pid =
+         ((PESContext *)s->streams[stream_index]->priv_data)->pcr_pid;
++    int pid = ((PESContext*)s->streams[stream_index]->priv_data)->pid;
+     int pos47 = ts->pos47_full % ts->raw_packet_size;
+     pos =
+         ((*ppos + ts->raw_packet_size - 1 - pos47) / ts->raw_packet_size) *
+@@ -2679,6 +2718,11 @@ static av_unused int64_t mpegts_get_pcr(AVFormatContext *s, int stream_index,
+             *ppos = pos;
+             return timestamp;
+         }
++        if ((pid < 0 || (AV_RB16(buf + 1) & 0x1fff) == pid) &&
++            parse_timestamp(&timestamp, buf) == 0) {
++            *ppos = pos;
++            return timestamp;
++        }
+         pos += ts->raw_packet_size;
+     }
+ 
+@@ -2778,7 +2822,7 @@ AVInputFormat ff_mpegts_demuxer = {
+     .read_header    = mpegts_read_header,
+     .read_packet    = mpegts_read_packet,
+     .read_close     = mpegts_read_close,
+-    .read_timestamp = mpegts_get_dts,
++    .read_timestamp = mpegts_get_pcr,
+     .flags          = AVFMT_SHOW_IDS | AVFMT_TS_DISCONT,
+     .priv_class     = &mpegts_class,
+ };
+@@ -2790,7 +2834,7 @@ AVInputFormat ff_mpegtsraw_demuxer = {
+     .read_header    = mpegts_read_header,
+     .read_packet    = mpegts_raw_read_packet,
+     .read_close     = mpegts_read_close,
+-    .read_timestamp = mpegts_get_dts,
++    .read_timestamp = mpegts_get_pcr,
+     .flags          = AVFMT_SHOW_IDS | AVFMT_TS_DISCONT,
+     .priv_class     = &mpegtsraw_class,
+ };
+
+From c57e5b8154f5fe1457f4c64e04885a2cdfb37f51 Mon Sep 17 00:00:00 2001
+From: Joakim Plate <[email protected]>
+Date: Sat, 22 Oct 2011 19:01:38 +0200
+Subject: [PATCH 08/13] Get stream durations using read_timestamp
+
+---
+ libavformat/utils.c | 39 +++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 39 insertions(+)
+
+diff --git a/libavformat/utils.c b/libavformat/utils.c
+index 3e8af50..f4fb172 100644
+--- a/libavformat/utils.c
++++ b/libavformat/utils.c
+@@ -2356,6 +2356,41 @@ static void estimate_timings_from_bit_rate(AVFormatContext *ic)
+ #define DURATION_MAX_READ_SIZE 250000LL
+ #define DURATION_MAX_RETRY 4
+ 
++static void av_estimate_timings_from_pts2(AVFormatContext *ic, int64_t old_offset)
++{
++    AVStream *st;
++    int i, step= 1024;
++    int64_t ts, pos;
++
++    for(i=0;i<ic->nb_streams;i++) {
++        st = ic->streams[i];
++
++        pos = 0;
++        ts = ic->iformat->read_timestamp(ic, i, &pos, DURATION_MAX_READ_SIZE);
++        if (ts == AV_NOPTS_VALUE)
++            continue;
++        if (st->start_time > ts || st->start_time == AV_NOPTS_VALUE)
++            st->start_time = ts;
++
++        pos = avio_size(ic->pb) - 1;
++        do {
++            pos -= step;
++            ts = ic->iformat->read_timestamp(ic, i, &pos, pos + step);
++            step += step;
++        } while (ts == AV_NOPTS_VALUE && pos >= step && step < DURATION_MAX_READ_SIZE);
++
++        if (ts == AV_NOPTS_VALUE)
++            continue;
++
++        if (st->duration < ts - st->start_time || st->duration == AV_NOPTS_VALUE)
++            st->duration = ts - st->start_time;
++    }
++
++    fill_all_stream_timings(ic);
++
++    avio_seek(ic->pb, old_offset, SEEK_SET);
++}
++
+ /* only usable for MPEG-PS streams */
+ static void estimate_timings_from_pts(AVFormatContext *ic, int64_t old_offset)
+ {
+@@ -2506,6 +2541,10 @@ static void estimate_timings(AVFormatContext *ic, int64_t old_offset)
+          * the components */
+         fill_all_stream_timings(ic);
+         ic->duration_estimation_method = AVFMT_DURATION_FROM_STREAM;
++    } else if (ic->iformat->read_timestamp && 
++        file_size && ic->pb->seekable) {
++        /* get accurate estimate from the PTSes */
++        av_estimate_timings_from_pts2(ic, old_offset);
+     } else {
+         /* less precise: use bitrate info */
+         estimate_timings_from_bit_rate(ic);
+
+From 4bcec3ef0042244b0ade00d132368d0872f73c72 Mon Sep 17 00:00:00 2001
+From: Joakim Plate <[email protected]>
+Date: Wed, 8 Dec 2010 14:03:43 +0000
+Subject: [PATCH 09/13] changed: allow 4 second skew between streams in mov
+ before attempting to seek
+
+---
+ libavformat/mov.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libavformat/mov.c b/libavformat/mov.c
+index 8d66c0a..127ffd9 100644
+--- a/libavformat/mov.c
++++ b/libavformat/mov.c
+@@ -4028,8 +4028,8 @@ static AVIndexEntry *mov_find_next_sample(AVFormatContext *s, AVStream **st)
+             if (!sample || (!s->pb->seekable && current_sample->pos < sample->pos) ||
+                 (s->pb->seekable &&
+                  ((msc->pb != s->pb && dts < best_dts) || (msc->pb == s->pb &&
+-                 ((FFABS(best_dts - dts) <= AV_TIME_BASE && current_sample->pos < sample->pos) ||
+-                  (FFABS(best_dts - dts) > AV_TIME_BASE && dts < best_dts)))))) {
++                 ((FFABS(best_dts - dts) <= 4*AV_TIME_BASE && current_sample->pos < sample->pos) ||
++                  (FFABS(best_dts - dts) > 4*AV_TIME_BASE && dts < best_dts)))))) {
+                 sample = current_sample;
+                 best_dts = dts;
+                 *st = avst;
+
+From cb7c19124165508ae5f38a385a14f9c13b096a27 Mon Sep 17 00:00:00 2001
+From: Joakim Plate <[email protected]>
+Date: Fri, 26 Nov 2010 20:56:48 +0000
+Subject: [PATCH 10/13] fixed: memleak in mpegts demuxer on some malformed (??)
+ mpegts files with too large pes packets
+
+at-visions sample file brokenStream.mpg
+---
+ libavformat/mpegts.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
+index d5a8a45..e070f1f 100644
+--- a/libavformat/mpegts.c
++++ b/libavformat/mpegts.c
+@@ -832,6 +832,10 @@ static void reset_pes_packet_state(PESContext *pes)
+ 
+ static void new_pes_packet(PESContext *pes, AVPacket *pkt)
+ {
++    if(pkt->data) {
++      av_log(pes->stream, AV_LOG_ERROR, "ignoring previously allocated packet on stream %d\n", pkt->stream_index);
++      av_free_packet(pkt);
++    }
+     av_init_packet(pkt);
+ 
+     pkt->buf  = pes->buffer;
+@@ -2649,6 +2653,8 @@ static int mpegts_read_packet(AVFormatContext *s, AVPacket *pkt)
+ 
+     pkt->size = -1;
+     ts->pkt = pkt;
++    ts->pkt->data = NULL;
++
+     ret = handle_packets(ts, 0);
+     if (ret < 0) {
+         av_free_packet(ts->pkt);
+
+From c315a758a292200c22925603682e259849d6d558 Mon Sep 17 00:00:00 2001
+From: Joakim Plate <[email protected]>
+Date: Mon, 28 Jun 2010 21:26:54 +0000
+Subject: [PATCH 11/13] Speed up mpegts av_find_stream_info
+
+---
+ libavformat/mpegts.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
+index e070f1f..dd9e129 100644
+--- a/libavformat/mpegts.c
++++ b/libavformat/mpegts.c
+@@ -994,7 +994,7 @@ static int mpegts_push_data(MpegTSFilter *filter,
+                         goto skip;
+ 
+                     /* stream not present in PMT */
+-                    if (!pes->st) {
++                    if (ts->auto_guess && !pes->st) {
+                         if (ts->skip_changes)
+                             goto skip;
+ 
+
+From 939ebbbc46ca9995637415594f1815633587104f Mon Sep 17 00:00:00 2001
+From: marc <mhocking@ubuntu-desktop.(none)>
+Date: Mon, 18 Feb 2013 17:18:18 +0000
+Subject: [PATCH 12/13] dxva-h264 Fix dxva playback of streams that don't start
+ with an I-Frame.
+
+---
+ libavcodec/dxva2_h264.c | 8 ++++++++
+ libavcodec/h264.c       | 1 +
+ libavcodec/h264.h       | 2 ++
+ libavcodec/h264_slice.c | 1 +
+ 4 files changed, 12 insertions(+)
+
+diff --git a/libavcodec/dxva2_h264.c b/libavcodec/dxva2_h264.c
+index 6deccc3..85b25fd 100644
+--- a/libavcodec/dxva2_h264.c
++++ b/libavcodec/dxva2_h264.c
+@@ -451,6 +451,14 @@ static int dxva2_h264_end_frame(AVCodecContext *avctx)
+ 
+     if (ctx_pic->slice_count <= 0 || ctx_pic->bitstream_size <= 0)
+         return -1;
++
++    // Wait for an I-frame before start decoding. Workaround for ATI UVD and UVD+ GPUs
++    if (!h->got_first_iframe) {
++        if (!(ctx_pic->pp.wBitFields & (1 << 15)))
++            return -1;
++        h->got_first_iframe = 1;
++    }
++
+     ret = ff_dxva2_common_end_frame(avctx, &h->cur_pic_ptr->f,
+                                     &ctx_pic->pp, sizeof(ctx_pic->pp),
+                                     &ctx_pic->qm, sizeof(ctx_pic->qm),
+diff --git a/libavcodec/h264.c b/libavcodec/h264.c
+index 222bf58..ea2ec17 100644
+--- a/libavcodec/h264.c
++++ b/libavcodec/h264.c
+@@ -1085,6 +1085,7 @@ void ff_h264_flush_change(H264Context *h)
+     h->list_count = 0;
+     h->current_slice = 0;
+     h->mmco_reset = 1;
++    h->got_first_iframe = 0;
+ }
+ 
+ /* forget old pics after a seek */
+diff --git a/libavcodec/h264.h b/libavcodec/h264.h
+index b94f06b..bc9458b 100644
+--- a/libavcodec/h264.h
++++ b/libavcodec/h264.h
+@@ -741,6 +741,8 @@ typedef struct H264Context {
+     int luma_weight_flag[2];    ///< 7.4.3.2 luma_weight_lX_flag
+     int chroma_weight_flag[2];  ///< 7.4.3.2 chroma_weight_lX_flag
+ 
++    int got_first_iframe;
++
+     // Timestamp stuff
+     int sei_buffering_period_present;   ///< Buffering period SEI flag
+     int initial_cpb_removal_delay[32];  ///< Initial timestamps for CPBs
+diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
+index 53f61ca..b171d78 100644
+--- a/libavcodec/h264_slice.c
++++ b/libavcodec/h264_slice.c
+@@ -1189,6 +1189,7 @@ static int h264_slice_header_init(H264Context *h, int reinit)
+         ff_h264_free_tables(h, 0);
+     h->first_field           = 0;
+     h->prev_interlaced_frame = 1;
++    h->got_first_iframe = 0;
+ 
+     init_scan_tables(h);
+     ret = ff_h264_alloc_tables(h);
+
+From 7d7ce18ff0d24b586634fa6e631fa0eec7865aae Mon Sep 17 00:00:00 2001
+From: elupus <[email protected]>
+Date: Tue, 1 Nov 2011 20:18:35 +0100
+Subject: [PATCH 13/13] add public version of ff_read_frame_flush
+
+We need this since we sometimes seek on the
+input stream behind ffmpeg's back. After this
+all data need to be flushed completely.
+---
+ libavformat/avformat.h | 5 +++++
+ libavformat/utils.c    | 5 +++++
+ 2 files changed, 10 insertions(+)
+
+diff --git a/libavformat/avformat.h b/libavformat/avformat.h
+index 2e54ed1..3a9f292 100644
+--- a/libavformat/avformat.h
++++ b/libavformat/avformat.h
+@@ -2121,6 +2121,11 @@ int av_find_best_stream(AVFormatContext *ic,
+ int av_read_frame(AVFormatContext *s, AVPacket *pkt);
+ 
+ /**
++ * Clear out any buffered data in context
++ */
++void av_read_frame_flush(AVFormatContext *s);
++
++/**
+  * Seek to the keyframe at timestamp.
+  * 'timestamp' in 'stream_index'.
+  *
+diff --git a/libavformat/utils.c b/libavformat/utils.c
+index f4fb172..10dda18 100644
+--- a/libavformat/utils.c
++++ b/libavformat/utils.c
+@@ -1624,6 +1624,11 @@ void ff_read_frame_flush(AVFormatContext *s)
+     }
+ }
+ 
++void av_read_frame_flush(AVFormatContext *s)
++{
++  ff_read_frame_flush(s);
++}
++
+ void ff_update_cur_dts(AVFormatContext *s, AVStream *ref_st, int64_t timestamp)
+ {
+     int i;
Signature · 1 line
1.7.10.4
#4 lore raw

PATCH v9 3/18 package/ffmpeg: Add Kodi patchset

Dear Bernd Kuhls,

Quoted 9 lines · Bernd Kuhls

In the past xbmc delivered its own ffmpeg source code with specific patches to address bugs found during the use of xbmc. For Helix the ffmpeg source code was removed, Helix uses a vanilla ffmpeg source tarball and applies this patchset on top of it.

Downloaded from
https://github.com/xbmc/FFmpeg/compare/FFmpeg:release/2.5...release/2.5-xbmc.patch

I am wondering, wouldn't it be easier to have the individual patches, instead of one big patch that combines all the XBMC patches?

Also, have those patches been submitted upstream? Why is there an XBMC patch set, instead of patches submitted to upstream ffmpeg? Can we expect this patch series to reduce in size over time?

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#5 lore raw

PATCH v9 3/18 package/ffmpeg: Add Kodi patchset

[posted and mailed]

Hi Thomas,

(digging through mail backlog after holiday...)

Thomas Petazzoni <[email protected]> wrote in news:20141226182251.79d06670 at free-electrons.com:

Quoted 2 lines

I am wondering, wouldn't it be easier to have the individual patches, instead of one big patch that combines all the XBMC patches?

Ok.

Quoted 2 lines

Also, have those patches been submitted upstream? Why is there an XBMC patch set, instead of patches submitted to upstream ffmpeg?

Quoting FernetMenta (http://forum.kodi.tv/showthread.php?tid=177474&pid=
1653966#pid1653966):
"We have not accepted any ffmpeg patches not accepted upstream for more than a year. Instead we do work with the ffmpeg devs and fix bugs upstream first. Nevertheless XBMC has a different release cycle than ffmpeg it it is necessary to backport patches."

Quoted 1 line

Can we expect this patch series to reduce in size over time?

Yes.

Regards, Bernd

#6 lore raw

PATCH v9 4/18 Rename XBMC to Kodi - part I - move files

In reply to Bernd Kuhls

Background information: http://xbmc.org/introducing-kodi-14

In a first step to bump version to 14.0-Helix move the package to its new directory. Because git will not recognize the moved files due to many upcoming changes to variable names the move is done in this seperate commit.

The "Rename XBMC to Kodi" is split in two parts for easier review, please apply both patches in one commit.

---
 package/Config.in                                                    |    2 +-
 .../0001-Fixup-include-path.patch}                                   |    0
 package/{xbmc => kodi}/Config.in                                     |    0
 package/{xbmc/S50xbmc => kodi/S50kodi}                               |    0
 package/{xbmc/br-xbmc => kodi/br-kodi}                               |    0
 .../{xbmc/xbmc-0002-mathutil.patch => kodi/kodi-0002-mathutil.patch} |    0
 package/{xbmc/xbmc-0003-dbus.patch => kodi/kodi-0003-dbus.patch}     |    0
 package/{xbmc/xbmc.mk => kodi/kodi.mk}                               |    0
 package/{xbmc/xbmc.service => kodi/kodi.service}                     |    0
 9 files changed, 1 insertion(+), 1 deletion(-)
 rename package/{xbmc/xbmc-0001-Fixup-include-path.patch => kodi/0001-Fixup-include-path.patch} (100%)
 rename package/{xbmc => kodi}/Config.in (100%)
 rename package/{xbmc/S50xbmc => kodi/S50kodi} (100%)
 rename package/{xbmc/br-xbmc => kodi/br-kodi} (100%)
 rename package/{xbmc/xbmc-0002-mathutil.patch => kodi/kodi-0002-mathutil.patch} (100%)
 rename package/{xbmc/xbmc-0003-dbus.patch => kodi/kodi-0003-dbus.patch} (100%)
 rename package/{xbmc/xbmc.mk => kodi/kodi.mk} (100%)
 rename package/{xbmc/xbmc.service => kodi/kodi.service} (100%)
package/Config.in +1 -1
index e2b73dd..3b37bb2 100644
@@ -14,6 +14,7 @@ menu "Audio and video applications"
 	source "package/gstreamer/Config.in"
 	source "package/gstreamer1/Config.in"
 	source "package/jack2/Config.in"
+	source "package/kodi/Config.in"
 	source "package/lame/Config.in"
 	source "package/libvpx/Config.in"
 	source "package/madplay/Config.in"
@@ -34,7 +35,6 @@ menu "Audio and video applications"
 	source "package/vlc/Config.in"
 	source "package/vorbis-tools/Config.in"
 	source "package/wavpack/Config.in"
-	source "package/xbmc/Config.in"
 	source "package/yavta/Config.in"
 	source "package/ympd/Config.in"
 endmenu
package/kodi/0001-Fixup-include-path.patch renamed from package/xbmc/xbmc-0001-Fixup-include-path.patch +0 -0
similarity index 100%
rename from package/xbmc/xbmc-0001-Fixup-include-path.patch
rename to package/kodi/0001-Fixup-include-path.patch
package/kodi/Config.in renamed from package/xbmc/Config.in +0 -0
similarity index 100%
rename from package/xbmc/Config.in
rename to package/kodi/Config.in
package/kodi/S50kodi renamed from package/xbmc/S50xbmc +0 -0
similarity index 100%
rename from package/xbmc/S50xbmc
rename to package/kodi/S50kodi
package/kodi/br-kodi renamed from package/xbmc/br-xbmc +0 -0
similarity index 100%
rename from package/xbmc/br-xbmc
rename to package/kodi/br-kodi
package/kodi/kodi-0002-mathutil.patch renamed from package/xbmc/xbmc-0002-mathutil.patch +0 -0
similarity index 100%
rename from package/xbmc/xbmc-0002-mathutil.patch
rename to package/kodi/kodi-0002-mathutil.patch
package/kodi/kodi-0003-dbus.patch renamed from package/xbmc/xbmc-0003-dbus.patch +0 -0
similarity index 100%
rename from package/xbmc/xbmc-0003-dbus.patch
rename to package/kodi/kodi-0003-dbus.patch
package/kodi/kodi.mk renamed from package/xbmc/xbmc.mk +0 -0
similarity index 100%
rename from package/xbmc/xbmc.mk
rename to package/kodi/kodi.mk
package/kodi/kodi.service renamed from package/xbmc/xbmc.service +0 -0
similarity index 100%
rename from package/xbmc/xbmc.service
rename to package/kodi/kodi.service
Signature · 1 line
1.7.10.4
#7 lore raw

PATCH v9 5/18 Rename XBMC to Kodi - part II - rename variables

In reply to Bernd Kuhls

- add xbmc-related options to Config.in.legacy

The "Rename XBMC to Kodi" is split in two parts for easier review, please apply both patches in one commit.

---
 Config.in.legacy                           |  120 +++++++++++++++
 package/kodi/Config.in                     |  100 ++++++------
 package/kodi/S50kodi                       |   16 +-
 package/kodi/br-kodi                       |   16 +-
 package/kodi/kodi.mk                       |  230 ++++++++++++++--------------
 package/kodi/kodi.service                  |    2 +-
 package/xbmc-addon-xvdr/xbmc-addon-xvdr.mk |    2 +-
 package/xbmc-pvr-addons/xbmc-pvr-addons.mk |    2 +-
 8 files changed, 304 insertions(+), 184 deletions(-)
Config.in.legacy +120 -0
index a969662..a4b5ad8 100644
@@ -102,6 +102,125 @@ endif
 
 comment "Legacy options removed in 2015.02"
 
+config BR2_PACKAGE_XBMC
+	bool "xbmc options have been renamed"
+	select BR2_LEGACY
+	select BR2_PACKAGE_KODI
+	help
+	  The XBMC media center project was renamed to Kodi entertainment center
+
+config BR2_PACKAGE_XBMC_ALSA_LIB
+	bool "xbmc options have been renamed"
+	select BR2_LEGACY
+	select BR2_PACKAGE_KODI_ALSA_LIB
+	help
+	  The XBMC media center project was renamed to Kodi entertainment center
+
+config BR2_PACKAGE_XBMC_AVAHI
+	bool "xbmc options have been renamed"
+	select BR2_LEGACY
+	select BR2_PACKAGE_KODI_AVAHI
+	help
+	  The XBMC media center project was renamed to Kodi entertainment center
+
+config BR2_PACKAGE_XBMC_DBUS
+	bool "xbmc options have been renamed"
+	select BR2_LEGACY
+	select BR2_PACKAGE_KODI_DBUS
+	help
+	  The XBMC media center project was renamed to Kodi entertainment center
+
+config BR2_PACKAGE_XBMC_LIBBLURAY
+	bool "xbmc options have been renamed"
+	select BR2_LEGACY
+	select BR2_PACKAGE_KODI_LIBBLURAY
+	help
+	  The XBMC media center project was renamed to Kodi entertainment center
+
+config BR2_PACKAGE_XBMC_GOOM
+	bool "xbmc options have been renamed"
+	select BR2_LEGACY
+	select BR2_PACKAGE_KODI_GOOM
+	help
+	  The XBMC media center project was renamed to Kodi entertainment center
+
+config BR2_PACKAGE_XBMC_RSXS
+	bool "xbmc options have been renamed"
+	select BR2_LEGACY
+	select BR2_PACKAGE_KODI_RSXS
+	help
+	  The XBMC media center project was renamed to Kodi entertainment center
+
+config BR2_PACKAGE_XBMC_LIBCEC
+	bool "xbmc options have been renamed"
+	select BR2_LEGACY
+	select BR2_PACKAGE_KODI_LIBCEC
+	help
+	  The XBMC media center project was renamed to Kodi entertainment center
+
+config BR2_PACKAGE_XBMC_LIBMICROHTTPD
+	bool "xbmc options have been renamed"
+	select BR2_LEGACY
+	select BR2_PACKAGE_KODI_LIBMICROHTTPD
+	help
+	  The XBMC media center project was renamed to Kodi entertainment center
+
+config BR2_PACKAGE_XBMC_LIBNFS
+	bool "xbmc options have been renamed"
+	select BR2_LEGACY
+	select BR2_PACKAGE_KODI_LIBNFS
+	help
+	  The XBMC media center project was renamed to Kodi entertainment center
+
+config BR2_PACKAGE_XBMC_RTMPDUMP
+	bool "xbmc options have been renamed"
+	select BR2_LEGACY
+	select BR2_PACKAGE_KODI_RTMPDUMP
+	help
+	  The XBMC media center project was renamed to Kodi entertainment center
+
+config BR2_PACKAGE_XBMC_LIBSHAIRPLAY
+	bool "xbmc options have been renamed"
+	select BR2_LEGACY
+	select BR2_PACKAGE_KODI_LIBSHAIRPLAY
+	help
+	  The XBMC media center project was renamed to Kodi entertainment center
+
+config BR2_PACKAGE_XBMC_LIBSMBCLIENT
+	bool "xbmc options have been renamed"
+	select BR2_LEGACY
+	select BR2_PACKAGE_KODI_LIBSMBCLIENT
+	help
+	  The XBMC media center project was renamed to Kodi entertainment center
+
+config BR2_PACKAGE_XBMC_LIBTHEORA
+	bool "xbmc options have been renamed"
+	select BR2_LEGACY
+	select BR2_PACKAGE_KODI_LIBTHEORA
+	help
+	  The XBMC media center project was renamed to Kodi entertainment center
+
+config BR2_PACKAGE_XBMC_LIBUSB
+	bool "xbmc options have been renamed"
+	select BR2_LEGACY
+	select BR2_PACKAGE_KODI_LIBUSB
+	help
+	  The XBMC media center project was renamed to Kodi entertainment center
+
+config BR2_PACKAGE_XBMC_LIBVA
+	bool "xbmc options have been renamed"
+	select BR2_LEGACY
+	select BR2_PACKAGE_KODI_LIBVA
+	help
+	  The XBMC media center project was renamed to Kodi entertainment center
+
+config BR2_PACKAGE_XBMC_WAVPACK
+	bool "xbmc options have been renamed"
+	select BR2_LEGACY
+	select BR2_PACKAGE_KODI_WAVPACK
+	help
+	  The XBMC media center project was renamed to Kodi entertainment center
+
 config BR2_PREFER_STATIC_LIB
 	bool "static library option renamed"
 	select BR2_LEGACY
@@ -114,6 +233,7 @@ config BR2_PREFER_STATIC_LIB
 	  Take care of updating the type of libraries you want under the
 	  "Build options" menu.
 
+###############################################################################
 comment "Legacy options removed in 2014.11"
 
 config BR2_x86_generic
package/kodi/Config.in +50 -50

250 lines not on this page · raw message

package/kodi/S50kodi +8 -8
index 80cc017..3b0049f 100755
@@ -1,20 +1,20 @@
 #!/bin/sh
 #
-# Starts XBMC.
+# Starts Kodi
 #
 
-BIN=/usr/bin/br-xbmc
-XBMC=/usr/lib/xbmc/xbmc.bin
-XBMC_ARGS="--standalone -fs -n"
-PIDFILE=/var/run/xbmc.pid
+BIN=/usr/bin/br-kodi
+KODI=/usr/lib/xbmc/xbmc.bin
+KODI_ARGS="--standalone -fs -n"
+PIDFILE=/var/run/kodi.pid
 
 start() {
-	echo -n "Starting XBMC: "
-	start-stop-daemon -S -q -b -m -p $PIDFILE --exec $BIN -- $XBMC $XBMC_ARGS
+	echo -n "Starting Kodi: "
+	start-stop-daemon -S -q -b -m -p $PIDFILE --exec $BIN -- $KODI $KODI_ARGS
 	[ $? = 0 ] && echo "OK" || echo "FAIL"
 }
 stop() {
-	echo -n "Stopping XBMC: "
+	echo -n "Stopping Kodi: "
 	start-stop-daemon -K -q -p $PIDFILE
 	[ $? = 0 ] && echo "OK" || echo "FAIL"
 }
package/kodi/br-kodi +8 -8
index fee5d51..83d4d4e 100755
@@ -1,15 +1,15 @@
 #!/bin/sh
 
-# We're called with the real XBMC executable as
-# first argument, followed by any XBMC extra args
-XBMC="${1}"
+# We're called with the real Kodi executable as
+# first argument, followed by any Kodi extra args
+KODI="${1}"
 shift
 
 # In case someone asked we terminate, just kill
-# the XBMC process
+# the Kodi process
 trap_kill() {
     LOOP=0
-    killall "${XBMC##*/}"
+    killall "${KODI##*/}"
 }
 trap trap_kill INT QUIT TERM
 
@@ -17,11 +17,11 @@ LOOP=1
 while [ ${LOOP} -eq 1 ]; do
     # Hack: BusyBox ash does not catch signals while a non-builtin
     # is running, and only catches the signal when the non-builtin
-    # command ends. So, we just background the XBMC binary, and wait
+    # command ends. So, we just background the Kodi binary, and wait
     # for it. But BusyBox' ash's wait builtin does not return the
     # exit code even if there was only one job (which is correct
-    # for POSIX). So we explicitly wait for the XBMC job
-    "${XBMC}" "${@}" &
+    # for POSIX). So we explicitly wait for the Kodi job
+    "${KODI}" "${@}" &
     wait %1
     ret=$?
     case "${ret}" in
package/kodi/kodi.mk +115 -115

362 lines not on this page · raw message

package/kodi/kodi.service +1 -1
index 3fe5895..acd3b8e 100644
@@ -1,5 +1,5 @@
 [Unit]
-Description = XBMC media center
+Description = Kodi Entertainment Center
 After = network.target
 
 [Service]
package/xbmc-addon-xvdr/xbmc-addon-xvdr.mk +1 -1
index a4d9624..16f3a0d 100644
@@ -21,6 +21,6 @@ XBMC_ADDON_XVDR_AUTORECONF = YES
 # This really is a runtime dependency, but we need XBMC to be installed
 # first, since we'll install files in XBMC's directories _after_ XBMC has
 # installed his own files
-XBMC_ADDON_XVDR_DEPENDENCIES = xbmc
+XBMC_ADDON_XVDR_DEPENDENCIES = kodi
 
 $(eval $(autotools-package))
package/xbmc-pvr-addons/xbmc-pvr-addons.mk +1 -1
index bfcb7ed..4410153 100644
@@ -18,7 +18,7 @@ XBMC_PVR_ADDONS_DEPENDENCIES = boost zlib
 # This really is a runtime dependency, but we need XBMC to be installed
 # first, since we'll install files in XBMC's directories _after_ XBMC has
 # installed its own files
-XBMC_PVR_ADDONS_DEPENDENCIES += xbmc
+XBMC_PVR_ADDONS_DEPENDENCIES += kodi
 
 XBMC_PVR_ADDONS_CONF_OPTS = \
 	--enable-release \
Signature · 1 line
1.7.10.4
#8 lore raw

PATCH v9 6/18 package/kodi: Bump version to 14.0-Helix

In reply to Bernd Kuhls

- delete kodi-0002-mathutil.patch, committed upstream
- delete kodi-0003-dbus.patch, committed upstream
- add dependency to ffmpeg, xbmc does not deliver its own ffmpeg anymore
- remove dependency to flac & lame, audio encoders have been seperated from kodi

---
 package/kodi/Config.in                |    4 +-
 package/kodi/kodi-0002-mathutil.patch |  213 ---------------------------------
 package/kodi/kodi-0003-dbus.patch     |   46 -------
 package/kodi/kodi.mk                  |   26 +---
 4 files changed, 8 insertions(+), 281 deletions(-)
 delete mode 100644 package/kodi/kodi-0002-mathutil.patch
 delete mode 100644 package/kodi/kodi-0003-dbus.patch
package/kodi/Config.in +3 -1
index 1b06512..2bd43b6 100644
@@ -35,7 +35,9 @@ menuconfig BR2_PACKAGE_KODI
 	select BR2_PACKAGE_BOOST_THREAD
 	select BR2_PACKAGE_BZIP2
 	select BR2_PACKAGE_EXPAT
-	select BR2_PACKAGE_FLAC
+	select BR2_PACKAGE_FFMPEG
+	select BR2_PACKAGE_FFMPEG_GPL
+	select BR2_PACKAGE_FFMPEG_POSTPROC # postproc depends on GPL
 	select BR2_PACKAGE_FONTCONFIG
 	select BR2_PACKAGE_FREETYPE
 	select BR2_PACKAGE_JASPER
package/kodi/kodi-0002-mathutil.patch deleted +0 -213

213 lines not on this page · raw message

package/kodi/kodi-0003-dbus.patch deleted +0 -46

46 lines not on this page · raw message

package/kodi/kodi.mk +5 -21
index c462ab3..14fa244 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-KODI_VERSION = 13.2-Gotham
+KODI_VERSION = 14.0-Helix
 KODI_SITE = $(call github,xbmc,xbmc,$(KODI_VERSION))
 KODI_LICENSE = GPLv2
 KODI_LICENSE_FILES = LICENSE.GPL
@@ -12,22 +12,13 @@ KODI_LICENSE_FILES = LICENSE.GPL
 # called TexturePacker. It is responsible to take all the images used in the
 # GUI and pack them in a blob.
 # http://wiki.xbmc.org/index.php?title=TexturePacker
-KODI_DEPENDENCIES = host-gawk host-gettext host-gperf host-infozip host-lzo host-sdl_image host-swig
-KODI_DEPENDENCIES += boost bzip2 expat flac fontconfig freetype jasper jpeg \
+KODI_DEPENDENCIES = host-gawk host-gettext host-gperf host-infozip host-lzo \
+	host-nasm host-sdl_image host-swig
+KODI_DEPENDENCIES += boost bzip2 expat ffmpeg fontconfig freetype jasper jpeg \
 	libass libcdio libcurl libfribidi libgcrypt libmad libmodplug libmpeg2 \
 	libogg libplist libpng libsamplerate libungif libvorbis libxml2 libxslt lzo ncurses \
 	openssl pcre python readline sqlite taglib tiff tinyxml yajl zlib
 
-# kodi at i386 depends on nasm
-KODI_DEPENDENCIES += $(if $(BR2_i386),host-nasm)
-
-# ffmpeg depends on yasm on MMX archs
-# kodi configure passes $(BR2_ARCH) to ffmpeg configure which adds
-# yasm as dependency for x86_64, even if BR2_x86_generic=y
-ifneq ($(BR2_X86_CPU_HAS_MMX)$(BR2_x86_64),)
-KODI_DEPENDENCIES += host-yasm
-endif
-
 KODI_CONF_ENV = \
 	PYTHON_VERSION="$(PYTHON_VERSION_MAJOR)" \
 	PYTHON_LDFLAGS="-lpython$(PYTHON_VERSION_MAJOR) -lpthread -ldl -lutil -lm" \
@@ -39,7 +30,7 @@ KODI_CONF_ENV = \
 	TEXTUREPACKER_NATIVE_ROOT="$(HOST_DIR)/usr"
 
 KODI_CONF_OPTS +=  \
-	--with-arch=$(BR2_ARCH) \
+	--with-ffmpeg=shared \
 	--disable-crystalhd \
 	--disable-dvdcss \
 	--disable-hal \
@@ -83,13 +74,6 @@ else
 KODI_CONF_OPTS += --disable-alsa
 endif
 
-ifeq ($(BR2_PACKAGE_LAME),y)
-KODI_DEPENDENCIES += lame
-KODI_CONF_OPTS += --enable-libmp3lame
-else
-KODI_CONF_OPTS += --disable-libmp3lame
-endif
-
 # quote from kodi/configure.in: "GLES overwrites GL if both set to yes."
 # we choose the opposite because opengl offers more features, like libva support
 ifeq ($(BR2_PACKAGE_KODI_GL),y)
Signature · 1 line
1.7.10.4
#9 lore raw

PATCH v9 7/18 Rename xbmc-pvr-addons to kodi-pvr-addons - part I - move files

In reply to Bernd Kuhls

In a first step to bump version to Helix move the package to its new directory. Because git will not recognize the moved files due to many upcoming changes to variable names the move is done in this seperate commit.

The "Rename xbmc-pvr-addons to kodi-pvr-addons"-patch is split into two parts for easier review, please apply both patches in one commit.

---
 package/{xbmc-pvr-addons => kodi-pvr-addons}/Config.in               |    0
 .../xbmc-pvr-addons.mk => kodi-pvr-addons/kodi-pvr-addons.mk}        |    0
 package/kodi/Config.in                                               |    2 +-
 3 files changed, 1 insertion(+), 1 deletion(-)
 rename package/{xbmc-pvr-addons => kodi-pvr-addons}/Config.in (100%)
 rename package/{xbmc-pvr-addons/xbmc-pvr-addons.mk => kodi-pvr-addons/kodi-pvr-addons.mk} (100%)
package/kodi-pvr-addons/Config.in renamed from package/xbmc-pvr-addons/Config.in +0 -0
similarity index 100%
rename from package/xbmc-pvr-addons/Config.in
rename to package/kodi-pvr-addons/Config.in
package/kodi-pvr-addons/kodi-pvr-addons.mk renamed from package/xbmc-pvr-addons/xbmc-pvr-addons.mk +0 -0
similarity index 100%
rename from package/xbmc-pvr-addons/xbmc-pvr-addons.mk
rename to package/kodi-pvr-addons/kodi-pvr-addons.mk
package/kodi/Config.in +1 -1
index 2bd43b6..d1286b7 100644
@@ -238,6 +238,6 @@ config BR2_PACKAGE_KODI_WAVPACK
 comment "Kodi addons"
 
 source "package/xbmc-addon-xvdr/Config.in"
-source "package/xbmc-pvr-addons/Config.in"
+source "package/kodi-pvr-addons/Config.in"
 
 endif # BR2_PACKAGE_KODI
Signature · 1 line
1.7.10.4
#10 lore raw

PATCH v9 8/18 Rename xbmc-pvr-addons to kodi-pvr-addons - part II - rename variables

In reply to Bernd Kuhls

- adjust Config.in.legacy

The "Rename xbmc-pvr-addons to kodi-pvr-addons"-patch is split into two parts for easier review, please apply both patches in one commit.

---
 Config.in.legacy                           |    7 +++++++
 package/kodi-pvr-addons/Config.in          |    6 +++---
 package/kodi-pvr-addons/kodi-pvr-addons.mk |   30 ++++++++++++++--------------
 3 files changed, 25 insertions(+), 18 deletions(-)
Config.in.legacy +7 -0
index a4b5ad8..653eeac 100644
@@ -102,6 +102,13 @@ endif
 
 comment "Legacy options removed in 2015.02"
 
+config BR2_PACKAGE_XBMC_PVR_ADDONS
+	bool "xbmc options have been renamed"
+	select BR2_LEGACY
+	select BR2_PACKAGE_KODI_PVR_ADDONS
+	help
+	  The XBMC media center project was renamed to Kodi entertainment center
+
 config BR2_PACKAGE_XBMC
 	bool "xbmc options have been renamed"
 	select BR2_LEGACY
package/kodi-pvr-addons/Config.in +3 -3
index 27f20e3..80916c7 100644
@@ -1,6 +1,6 @@
-config BR2_PACKAGE_XBMC_PVR_ADDONS
-	bool "xbmc-pvr-addons"
+config BR2_PACKAGE_KODI_PVR_ADDONS
+	bool "kodi-pvr-addons"
 	help
-	  A collection of PVR backend addons for XBMC.
+	  A collection of PVR backend addons for Kodi
 
 	  https://github.com/opdenkamp/xbmc-pvr-addons
package/kodi-pvr-addons/kodi-pvr-addons.mk +15 -15
index 4410153..5e70bb3 100644
@@ -1,34 +1,34 @@
 ################################################################################
 #
-# xbmc-pvr-addons
+# kodi-pvr-addons
 #
 ################################################################################
 
 # This cset is on the branch 'gotham'
-# When XBMC is updated, then this should be updated to the corresponding branch
-XBMC_PVR_ADDONS_VERSION = be12a8da2072e9c3ddad54892df2f85b759d4e9a
-XBMC_PVR_ADDONS_SITE = $(call github,opdenkamp,xbmc-pvr-addons,$(XBMC_PVR_ADDONS_VERSION))
-XBMC_PVR_ADDONS_LICENSE = GPLv3+
-XBMC_PVR_ADDONS_LICENSE_FILES = COPYING
+# When Kodi is updated, then this should be updated to the corresponding branch
+KODI_PVR_ADDONS_VERSION = be12a8da2072e9c3ddad54892df2f85b759d4e9a
+KODI_PVR_ADDONS_SITE = $(call github,opdenkamp,xbmc-pvr-addons,$(KODI_PVR_ADDONS_VERSION))
+KODI_PVR_ADDONS_LICENSE = GPLv3+
+KODI_PVR_ADDONS_LICENSE_FILES = COPYING
 
 # There's no ./configure in the git tree, we need to generate it
-XBMC_PVR_ADDONS_AUTORECONF = YES
+KODI_PVR_ADDONS_AUTORECONF = YES
 
-XBMC_PVR_ADDONS_DEPENDENCIES = boost zlib
-# This really is a runtime dependency, but we need XBMC to be installed
-# first, since we'll install files in XBMC's directories _after_ XBMC has
+KODI_PVR_ADDONS_DEPENDENCIES = boost zlib
+# This really is a runtime dependency, but we need KODI to be installed
+# first, since we'll install files in KODI's directories _after_ KODI has
 # installed its own files
-XBMC_PVR_ADDONS_DEPENDENCIES += kodi
+KODI_PVR_ADDONS_DEPENDENCIES += kodi
 
-XBMC_PVR_ADDONS_CONF_OPTS = \
+KODI_PVR_ADDONS_CONF_OPTS = \
 	--enable-release \
 	--enable-addons-with-dependencies
 
 ifeq ($(BR2_PACKAGE_MYSQL),y)
-XBMC_PVR_ADDONS_CONF_OPTS += --enable-mysql
-XBMC_PVR_ADDONS_DEPENDENCIES += mysql
+KODI_PVR_ADDONS_CONF_OPTS += --enable-mysql
+KODI_PVR_ADDONS_DEPENDENCIES += mysql
 else
-XBMC_PVR_ADDONS_CONF_OPTS += --disable-mysql
+KODI_PVR_ADDONS_CONF_OPTS += --disable-mysql
 endif
 
 $(eval $(autotools-package))
Signature · 1 line
1.7.10.4
#11 lore raw

PATCH v9 9/18 package/kodi-pvr-addons: Bump version for Helix-compatibility

In reply to Bernd Kuhls
---
 package/kodi-pvr-addons/kodi-pvr-addons.mk |   15 ++++-----------
 1 file changed, 4 insertions(+), 11 deletions(-)
package/kodi-pvr-addons/kodi-pvr-addons.mk +4 -11
index 5e70bb3..acd431c 100644
@@ -4,9 +4,9 @@
 #
 ################################################################################
 
-# This cset is on the branch 'gotham'
-# When Kodi is updated, then this should be updated to the corresponding branch
-KODI_PVR_ADDONS_VERSION = be12a8da2072e9c3ddad54892df2f85b759d4e9a
+# This cset is on the branch 'master'
+# When Kodi is released this should be updated to the corresponding branch
+KODI_PVR_ADDONS_VERSION = 89ba5bb6917a820b278688b9f43b23834002e9b5
 KODI_PVR_ADDONS_SITE = $(call github,opdenkamp,xbmc-pvr-addons,$(KODI_PVR_ADDONS_VERSION))
 KODI_PVR_ADDONS_LICENSE = GPLv3+
 KODI_PVR_ADDONS_LICENSE_FILES = COPYING
@@ -14,7 +14,7 @@ KODI_PVR_ADDONS_LICENSE_FILES = COPYING
 # There's no ./configure in the git tree, we need to generate it
 KODI_PVR_ADDONS_AUTORECONF = YES
 
-KODI_PVR_ADDONS_DEPENDENCIES = boost zlib
+KODI_PVR_ADDONS_DEPENDENCIES = zlib
 # This really is a runtime dependency, but we need KODI to be installed
 # first, since we'll install files in KODI's directories _after_ KODI has
 # installed its own files
@@ -24,11 +24,4 @@ KODI_PVR_ADDONS_CONF_OPTS = \
 	--enable-release \
 	--enable-addons-with-dependencies
 
-ifeq ($(BR2_PACKAGE_MYSQL),y)
-KODI_PVR_ADDONS_CONF_OPTS += --enable-mysql
-KODI_PVR_ADDONS_DEPENDENCIES += mysql
-else
-KODI_PVR_ADDONS_CONF_OPTS += --disable-mysql
-endif
-
 $(eval $(autotools-package))
Signature · 1 line
1.7.10.4
#12 lore raw

PATCH v9 10/18 Rename xbmc-addon-xvdr to kodi-addon-xvdr - part I - move files

In reply to Bernd Kuhls

In a first step to bump version to Helix move the package to its new directory. Because git will not recognize the moved files due to many upcoming changes to variable names the move is done in this seperate commit.

The "Rename xbmc-addon-xvdr to kodi-addon-xvdr"-patch is split into two parts for easier review, please apply both patches in one commit.

---
 package/{xbmc-addon-xvdr => kodi-addon-xvdr}/Config.in               |    0
 .../xbmc-addon-xvdr.mk => kodi-addon-xvdr/kodi-addon-xvdr.mk}        |    0
 package/kodi/Config.in                                               |    2 +-
 3 files changed, 1 insertion(+), 1 deletion(-)
 rename package/{xbmc-addon-xvdr => kodi-addon-xvdr}/Config.in (100%)
 rename package/{xbmc-addon-xvdr/xbmc-addon-xvdr.mk => kodi-addon-xvdr/kodi-addon-xvdr.mk} (100%)
package/kodi-addon-xvdr/Config.in renamed from package/xbmc-addon-xvdr/Config.in +0 -0
similarity index 100%
rename from package/xbmc-addon-xvdr/Config.in
rename to package/kodi-addon-xvdr/Config.in
package/kodi-addon-xvdr/kodi-addon-xvdr.mk renamed from package/xbmc-addon-xvdr/xbmc-addon-xvdr.mk +0 -0
similarity index 100%
rename from package/xbmc-addon-xvdr/xbmc-addon-xvdr.mk
rename to package/kodi-addon-xvdr/kodi-addon-xvdr.mk
package/kodi/Config.in +1 -1
index d1286b7..4bc0178 100644
@@ -237,7 +237,7 @@ config BR2_PACKAGE_KODI_WAVPACK
 
 comment "Kodi addons"
 
-source "package/xbmc-addon-xvdr/Config.in"
+source "package/kodi-addon-xvdr/Config.in"
 source "package/kodi-pvr-addons/Config.in"
 
 endif # BR2_PACKAGE_KODI
Signature · 1 line
1.7.10.4
#13 lore raw

PATCH v9 11/18 Rename xbmc-addon-xvdr to kodi-addon-xvdr - part II - rename variables

In reply to Bernd Kuhls

- adjust Config.in.legacy

The "Rename xbmc-addon-xvdr to kodi-addon-xvdr"-patch is split into two parts for easier review, please apply both patches in one commit.

---
 Config.in.legacy                           |    7 +++++++
 package/kodi-addon-xvdr/Config.in          |    8 ++++----
 package/kodi-addon-xvdr/kodi-addon-xvdr.mk |   20 ++++++++++----------
 3 files changed, 21 insertions(+), 14 deletions(-)
Config.in.legacy +7 -0
index 653eeac..de2c0ba 100644
@@ -102,6 +102,13 @@ endif
 
 comment "Legacy options removed in 2015.02"
 
+config BR2_PACKAGE_XBMC_ADDON_XVDR
+	bool "xbmc options have been renamed"
+	select BR2_LEGACY
+	select BR2_PACKAGE_KODI_ADDON_XVDR
+	help
+	  The XBMC media center project was renamed to Kodi entertainment center
+
 config BR2_PACKAGE_XBMC_PVR_ADDONS
 	bool "xbmc options have been renamed"
 	select BR2_LEGACY
package/kodi-addon-xvdr/Config.in +4 -4
index 7329a9a..6e713af 100644
@@ -1,8 +1,8 @@
-config BR2_PACKAGE_XBMC_ADDON_XVDR
-	bool "xbmc-addon-xvdr"
+config BR2_PACKAGE_KODI_ADDON_XVDR
+	bool "kodi-addon-xvdr"
 	help
-	  This is a PVR add-on for XBMC to add VDR (http://tvdr.de/)
-	  as a TV/PVR Backend to XBMC.
+	  This is a PVR add-on for Kodi to add VDR (http://tvdr.de/)
+	  as a TV/PVR Backend to Kodi.
 
 	  It adds support for Live TV watching, replaying of Recordings,
 	  programming Timers and EPG TV Guide to use on same computer or
package/kodi-addon-xvdr/kodi-addon-xvdr.mk +10 -10
index 16f3a0d..14b08fe 100644
@@ -1,26 +1,26 @@
 ################################################################################
 #
-# xbmc-addon-xvdr
+# kodi-addon-xvdr
 #
 ################################################################################
 
 # This cset is on master. When a Gotham branch is made, we should
 # follow it, as incompatible changes in the plugins API can happen
 # on the master branch.
-XBMC_ADDON_XVDR_VERSION = 82b5093ad33847f97a978cb620c9a87d2dbcf7eb
-XBMC_ADDON_XVDR_SITE = $(call github,pipelka,xbmc-addon-xvdr,$(XBMC_ADDON_XVDR_VERSION))
-XBMC_ADDON_XVDR_LICENSE = GPLv2+
-XBMC_ADDON_XVDR_LICENSE_FILES = COPYING
+KODI_ADDON_XVDR_VERSION = 82b5093ad33847f97a978cb620c9a87d2dbcf7eb
+KODI_ADDON_XVDR_SITE = $(call github,pipelka,xbmc-addon-xvdr,$(KODI_ADDON_XVDR_VERSION))
+KODI_ADDON_XVDR_LICENSE = GPLv2+
+KODI_ADDON_XVDR_LICENSE_FILES = COPYING
 
 # There's no ./configure in the git tree, we need to generate it
-# xbmc-addon-xvdr uses a weird autogen.sh script, which
+# kodi-addon-xvdr uses a weird autogen.sh script, which
 # is even incorrect (it's missing the #! ) Sigh... :-(
 # Fortunately, with our little patch, it autoreconfs nicely! :-)
-XBMC_ADDON_XVDR_AUTORECONF = YES
+KODI_ADDON_XVDR_AUTORECONF = YES
 
-# This really is a runtime dependency, but we need XBMC to be installed
-# first, since we'll install files in XBMC's directories _after_ XBMC has
+# This really is a runtime dependency, but we need KODI to be installed
+# first, since we'll install files in KODI's directories _after_ KODI has
 # installed his own files
-XBMC_ADDON_XVDR_DEPENDENCIES = kodi
+KODI_ADDON_XVDR_DEPENDENCIES = kodi
 
 $(eval $(autotools-package))
Signature · 1 line
1.7.10.4
#14 lore raw

PATCH v9 12/18 package/kodi-addon-xvdr: Bump version for Helix-compatibility

In reply to Bernd Kuhls
---
 package/kodi-addon-xvdr/0001-xbmc-rebrand.patch |   19 +++++++++++++++++++
 package/kodi-addon-xvdr/kodi-addon-xvdr.mk      |    4 ++--
 2 files changed, 21 insertions(+), 2 deletions(-)
 create mode 100644 package/kodi-addon-xvdr/0001-xbmc-rebrand.patch
package/kodi-addon-xvdr/0001-xbmc-rebrand.patch new file +19 -0
new file mode 100644
index 0000000..6e87b79
@@ -0,0 +1,19 @@
+Update for Kodi
+
+Ported from OpenELEC:
+https://github.com/OpenELEC/OpenELEC.tv/blob/master/packages/mediacenter/kodi-addon-xvdr/patches/kodi-addon-xvdr-xbmc-rebrand.patch
+
+Signed-off-by: Bernd Kuhls <[email protected]>
+
+diff -Naur xbmc-addon-xvdr-2bf2563/configure.ac xbmc-addon-xvdr-2bf2563.patch/configure.ac
+--- xbmc-addon-xvdr-2bf2563/configure.ac	2014-10-18 22:02:18.000000000 +0200
++++ xbmc-addon-xvdr-2bf2563.patch/configure.ac	2014-10-20 03:03:20.525526996 +0200
+@@ -6,7 +6,7 @@
+ AC_INIT([xbmc-addon-xvdr], [MAJOR.MINOR.MICRO], [alexander.pipelka at gmail.com])
+ 
+ AC_CONFIG_AUX_DIR(autotools)
+-AC_PREFIX_DEFAULT(/usr/lib/xbmc)
++AC_PREFIX_DEFAULT(/usr/lib/kodi)
+ 
+ AC_CANONICAL_HOST
+ AC_CANONICAL_TARGET
package/kodi-addon-xvdr/kodi-addon-xvdr.mk +2 -2
index 14b08fe..e05510c 100644
@@ -4,10 +4,10 @@
 #
 ################################################################################
 
-# This cset is on master. When a Gotham branch is made, we should
+# This cset is on master. When a Helix branch is made, we should
 # follow it, as incompatible changes in the plugins API can happen
 # on the master branch.
-KODI_ADDON_XVDR_VERSION = 82b5093ad33847f97a978cb620c9a87d2dbcf7eb
+KODI_ADDON_XVDR_VERSION = 328fa653b821a4edc1256a13833f30a4483e2819
 KODI_ADDON_XVDR_SITE = $(call github,pipelka,xbmc-addon-xvdr,$(KODI_ADDON_XVDR_VERSION))
 KODI_ADDON_XVDR_LICENSE = GPLv2+
 KODI_ADDON_XVDR_LICENSE_FILES = COPYING
Signature · 1 line
1.7.10.4
#15 lore raw

PATCH v9 13/18 package/kodi: New option to enable support for optical drives

In reply to Bernd Kuhls

This also enables dvdcss support, provided by an internal library.

---
 package/kodi/Config.in |    5 +++++
 package/kodi/kodi.mk   |    7 ++++++-
 2 files changed, 11 insertions(+), 1 deletion(-)
package/kodi/Config.in +5 -0
index 4bc0178..22060b1 100644
@@ -235,6 +235,11 @@ config BR2_PACKAGE_KODI_WAVPACK
 	  Enable WAV input support.
 	  Select this if you want to play back WV files.
 
+config BR2_PACKAGE_KODI_OPTICALDRIVE
+	bool "optical drive"
+	help
+	  Enable support for optical drives
+
 comment "Kodi addons"
 
 source "package/kodi-addon-xvdr/Config.in"
package/kodi/kodi.mk +6 -1
index 14fa244..cd1f2fb 100644
@@ -37,7 +37,6 @@ KODI_CONF_OPTS +=  \
 	--disable-joystick \
 	--disable-mysql \
 	--disable-openmax \
-	--disable-optical-drive \
 	--disable-projectm \
 	--disable-pulse \
 	--disable-ssh \
@@ -189,6 +188,12 @@ else
 KODI_CONF_OPTS += --disable-vaapi
 endif
 
+ifeq ($(BR2_PACKAGE_KODI_OPTICALDRIVE),y)
+KODI_CONF_OPTS += --enable-optical-drive --enable-dvdcss
+else
+KODI_CONF_OPTS += --disable-optical-drive --disable-dvdcss
+endif
+
 # Add HOST_DIR to PATH for codegenerator.mk to find swig
 define KODI_BOOTSTRAP
 	cd $(@D) && PATH=$(BR_PATH) ./bootstrap
Signature · 1 line
1.7.10.4
#16 lore raw

PATCH v9 14/18 package/kodi: Enable install to STAGING_DIR, needed for audioencoder addons

In reply to Bernd Kuhls
---
 package/kodi/kodi.mk |    2 ++
 1 file changed, 2 insertions(+)
package/kodi/kodi.mk +2 -0
index cd1f2fb..8a52433 100644
@@ -8,6 +8,8 @@ KODI_VERSION = 14.0-Helix
 KODI_SITE = $(call github,xbmc,xbmc,$(KODI_VERSION))
 KODI_LICENSE = GPLv2
 KODI_LICENSE_FILES = LICENSE.GPL
+# needed for audioencoder addons
+KODI_INSTALL_STAGING = YES
 # Kodi needs host-sdl_image (and therefore host-sdl) for a host tools it builds
 # called TexturePacker. It is responsible to take all the images used in the
 # GUI and pack them in a blob.
Signature · 1 line
1.7.10.4
#17 lore raw

PATCH v9 15/18 package/kodi-audioencoder-flac: New package

In reply to Bernd Kuhls
---
 package/kodi-audioencoder-flac/Config.in              |    9 +++++++++
 .../kodi-audioencoder-flac/kodi-audioencoder-flac.mk  |   17 +++++++++++++++++
 package/kodi/Config.in                                |   10 +++++++++-
 3 files changed, 35 insertions(+), 1 deletion(-)
 create mode 100644 package/kodi-audioencoder-flac/Config.in
 create mode 100644 package/kodi-audioencoder-flac/kodi-audioencoder-flac.mk
package/kodi-audioencoder-flac/Config.in new file +9 -0
new file mode 100644
index 0000000..ec8cb96
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_KODI_AUDIOENCODER_FLAC
+	bool "kodi-audioencoder-flac"
+	select BR2_PACKAGE_FLAC
+	select BR2_PACKAGE_LIBOGG
+	depends on BR2_PACKAGE_KODI_OPTICALDRIVE
+	help
+	  An audioencoder addon for Kodi
+
+	  https://github.com/xbmc/audioencoder.flac
package/kodi-audioencoder-flac/kodi-audioencoder-flac.mk new file +17 -0
new file mode 100644
index 0000000..a200150
@@ -0,0 +1,17 @@
+################################################################################
+#
+# kodi-audioencoder-flac
+#
+################################################################################
+
+KODI_AUDIOENCODER_FLAC_VERSION = a960ebae64f4b66f580e70318fe6da97771cacba
+KODI_AUDIOENCODER_FLAC_SITE = $(call github,xbmc,audioencoder.flac,$(KODI_AUDIOENCODER_FLAC_VERSION))
+KODI_AUDIOENCODER_FLAC_LICENSE = GPLv2+
+KODI_AUDIOENCODER_FLAC_LICENSE_FILES = src/EncoderFlac.cpp
+KODI_AUDIOENCODER_FLAC_DEPENDENCIES = flac kodi libogg
+KODI_AUDIOENCODER_FLAC_CONF_OPTS += \
+	-DCMAKE_MODULE_PATH=$(STAGING_DIR)/usr/lib/kodi \
+	-DFLAC_INCLUDE_DIRS=$(STAGING_DIR)/usr/include \
+	-DOGG_INCLUDE_DIRS=$(STAGING_DIR)/usr/include
+
+$(eval $(cmake-package))
package/kodi/Config.in +9 -1
index 22060b1..fa26f54 100644
@@ -240,7 +240,15 @@ config BR2_PACKAGE_KODI_OPTICALDRIVE
 	help
 	  Enable support for optical drives
 
-comment "Kodi addons"
+if BR2_PACKAGE_KODI_OPTICALDRIVE
+
+comment "Kodi audioencoder addons"
+
+source "package/kodi-audioencoder-flac/Config.in"
+
+endif # BR2_PACKAGE_KODI_OPTICALDRIVE
+
+comment "Kodi PVR addons"
 
 source "package/kodi-addon-xvdr/Config.in"
 source "package/kodi-pvr-addons/Config.in"
Signature · 1 line
1.7.10.4
#18 lore raw

PATCH v9 16/18 package/kodi-audioencoder-lame: New package

In reply to Bernd Kuhls
---
 package/kodi-audioencoder-lame/Config.in               |    8 ++++++++
 .../kodi-audioencoder-lame/kodi-audioencoder-lame.mk   |   16 ++++++++++++++++
 package/kodi/Config.in                                 |    1 +
 3 files changed, 25 insertions(+)
 create mode 100644 package/kodi-audioencoder-lame/Config.in
 create mode 100644 package/kodi-audioencoder-lame/kodi-audioencoder-lame.mk
package/kodi-audioencoder-lame/Config.in new file +8 -0
new file mode 100644
index 0000000..78ec136
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_KODI_AUDIOENCODER_LAME
+	bool "kodi-audioencoder-lame"
+	select BR2_PACKAGE_LAME
+	depends on BR2_PACKAGE_KODI_OPTICALDRIVE
+	help
+	  An audioencoder addon for Kodi
+
+	  https://github.com/xbmc/audioencoder.lame
package/kodi-audioencoder-lame/kodi-audioencoder-lame.mk new file +16 -0
new file mode 100644
index 0000000..a890f64
@@ -0,0 +1,16 @@
+################################################################################
+#
+# kodi-audioencoder-lame
+#
+################################################################################
+
+KODI_AUDIOENCODER_LAME_VERSION = 6f8384f0d003faf7b91dcd38357ea0ecf9030cce
+KODI_AUDIOENCODER_LAME_SITE = $(call github,xbmc,audioencoder.lame,$(KODI_AUDIOENCODER_LAME_VERSION))
+KODI_AUDIOENCODER_LAME_LICENSE = GPLv2+
+KODI_AUDIOENCODER_LAME_LICENSE_FILES = src/EncoderLame.cpp
+KODI_AUDIOENCODER_LAME_DEPENDENCIES = kodi lame
+KODI_AUDIOENCODER_LAME_CONF_OPTS += \
+	-DCMAKE_MODULE_PATH=$(STAGING_DIR)/usr/lib/kodi \
+	-DLAME_INCLUDE_DIRS=$(STAGING_DIR)/usr/include
+
+$(eval $(cmake-package))
package/kodi/Config.in +1 -0
index fa26f54..7f33642 100644
@@ -245,6 +245,7 @@ if BR2_PACKAGE_KODI_OPTICALDRIVE
 comment "Kodi audioencoder addons"
 
 source "package/kodi-audioencoder-flac/Config.in"
+source "package/kodi-audioencoder-lame/Config.in"
 
 endif # BR2_PACKAGE_KODI_OPTICALDRIVE
 
Signature · 1 line
1.7.10.4
#19 lore raw

PATCH v9 17/18 package/kodi-audioencoder-vorbis: New package

In reply to Bernd Kuhls
---
 package/kodi-audioencoder-vorbis/Config.in           |    9 +++++++++
 .../kodi-audioencoder-vorbis.mk                      |   18 ++++++++++++++++++
 package/kodi/Config.in                               |    1 +
 3 files changed, 28 insertions(+)
 create mode 100644 package/kodi-audioencoder-vorbis/Config.in
 create mode 100644 package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.mk
package/kodi-audioencoder-vorbis/Config.in new file +9 -0
new file mode 100644
index 0000000..03300f1
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_KODI_AUDIOENCODER_VORBIS
+	bool "kodi-audioencoder-vorbis"
+	select BR2_PACKAGE_LIBOGG
+	select BR2_PACKAGE_LIBVORBIS
+	depends on BR2_PACKAGE_KODI_OPTICALDRIVE
+	help
+	  An audioencoder addon for Kodi
+
+	  https://github.com/xbmc/audioencoder.vorbis
package/kodi-audioencoder-vorbis/kodi-audioencoder-vorbis.mk new file +18 -0
new file mode 100644
index 0000000..901a7a1
@@ -0,0 +1,18 @@
+################################################################################
+#
+# kodi-audioencoder-vorbis
+#
+################################################################################
+
+KODI_AUDIOENCODER_VORBIS_VERSION = fa0de1562504253acf64ad39fbcb1e5d85676ae4
+KODI_AUDIOENCODER_VORBIS_SITE = $(call github,xbmc,audioencoder.vorbis,$(KODI_AUDIOENCODER_VORBIS_VERSION))
+KODI_AUDIOENCODER_VORBIS_LICENSE = GPLv2+
+KODI_AUDIOENCODER_VORBIS_LICENSE_FILES = src/EncoderVorbis.cpp
+KODI_AUDIOENCODER_VORBIS_DEPENDENCIES = kodi libogg libvorbis
+KODI_AUDIOENCODER_VORBIS_CONF_OPTS += \
+	-DCMAKE_MODULE_PATH=$(STAGING_DIR)/usr/lib/kodi \
+	-DOGG_INCLUDE_DIRS=$(STAGING_DIR)/usr/include \
+	-DVORBIS_INCLUDE_DIRS=$(STAGING_DIR)/usr/include \
+	-DVORBISENC_INCLUDE_DIRS=$(STAGING_DIR)/usr/include
+
+$(eval $(cmake-package))
package/kodi/Config.in +1 -0
index 7f33642..486dfda 100644
@@ -246,6 +246,7 @@ comment "Kodi audioencoder addons"
 
 source "package/kodi-audioencoder-flac/Config.in"
 source "package/kodi-audioencoder-lame/Config.in"
+source "package/kodi-audioencoder-vorbis/Config.in"
 
 endif # BR2_PACKAGE_KODI_OPTICALDRIVE
 
Signature · 1 line
1.7.10.4
#20 lore raw

PATCH v9 18/18 package/kodi-audioencoder-wav: New package

In reply to Bernd Kuhls
---
 package/kodi-audioencoder-wav/Config.in                |    7 +++++++
 package/kodi-audioencoder-wav/kodi-audioencoder-wav.mk |   15 +++++++++++++++
 package/kodi/Config.in                                 |    1 +
 3 files changed, 23 insertions(+)
 create mode 100644 package/kodi-audioencoder-wav/Config.in
 create mode 100644 package/kodi-audioencoder-wav/kodi-audioencoder-wav.mk
package/kodi-audioencoder-wav/Config.in new file +7 -0
new file mode 100644
index 0000000..93012b6
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_KODI_AUDIOENCODER_WAV
+	bool "kodi-audioencoder-wav"
+	depends on BR2_PACKAGE_KODI_OPTICALDRIVE
+	help
+	  An audioencoder addon for Kodi
+
+	  https://github.com/xbmc/audioencoder.wav
package/kodi-audioencoder-wav/kodi-audioencoder-wav.mk new file +15 -0
new file mode 100644
index 0000000..06803f2
@@ -0,0 +1,15 @@
+################################################################################
+#
+# kodi-audioencoder-wav
+#
+################################################################################
+
+KODI_AUDIOENCODER_WAV_VERSION = 40aaedfa1cd9c75749c82f6e1bd7c42ef61fdb38
+KODI_AUDIOENCODER_WAV_SITE = $(call github,xbmc,audioencoder.wav,$(KODI_AUDIOENCODER_WAV_VERSION))
+KODI_AUDIOENCODER_WAV_LICENSE = GPLv2+
+KODI_AUDIOENCODER_WAV_LICENSE_FILES = src/EncoderWav.cpp
+KODI_AUDIOENCODER_WAV_DEPENDENCIES = kodi
+KODI_AUDIOENCODER_WAV_CONF_OPTS += \
+	-DCMAKE_MODULE_PATH=$(STAGING_DIR)/usr/lib/kodi
+
+$(eval $(cmake-package))
package/kodi/Config.in +1 -0
index 486dfda..41f7798 100644
@@ -247,6 +247,7 @@ comment "Kodi audioencoder addons"
 source "package/kodi-audioencoder-flac/Config.in"
 source "package/kodi-audioencoder-lame/Config.in"
 source "package/kodi-audioencoder-vorbis/Config.in"
+source "package/kodi-audioencoder-wav/Config.in"
 
 endif # BR2_PACKAGE_KODI_OPTICALDRIVE
 
Signature · 1 line
1.7.10.4
#21 lore raw

v9 cover package/kodi: Bump version to 14.0-Helix

In reply to Bernd Kuhls

Dear Bernd Kuhls,

Quoted 3 lines · Bernd Kuhls

Bernd Kuhls (18):
package/ffmpeg: bump version to 2.5.2
package/libcec: Bump to version 2.2.0

Both applied, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#22 lore raw

v9 cover package/kodi: Bump version to 14.0-Helix

In reply to Bernd Kuhls

Dear Bernd Kuhls,

Quoted 1 line · Bernd Kuhls

package/ffmpeg: Add Kodi patchset

Applied, after switching to using individual patches instead of one big patch.

Quoted 2 lines

Rename XBMC to Kodi - part I - move files Rename XBMC to Kodi - part II - rename variables

Applied, after merging the two patches and adjusting the commit title.

Quoted 1 line

package/kodi: Bump version to 14.0-Helix

Applied.

Quoted 3 lines

Rename xbmc-pvr-addons to kodi-pvr-addons - part I - move files Rename xbmc-pvr-addons to kodi-pvr-addons - part II - rename
variables

Applied, after merging the two patches and adjusting the commit title.

Quoted 1 line

package/kodi-pvr-addons: Bump version for Helix-compatibility

Applied.

Quoted 3 lines

Rename xbmc-addon-xvdr to kodi-addon-xvdr - part I - move files Rename xbmc-addon-xvdr to kodi-addon-xvdr - part II - rename
variables

Applied, after merging the two patches and adjusting the commit title.

Quoted 1 line

package/kodi-addon-xvdr: Bump version for Helix-compatibility

Applied.

Quoted 1 line

package/kodi: New option to enable support for optical drives

Applied.

Quoted 2 lines

package/kodi: Enable install to STAGING_DIR, needed for audioencoder
addons

Applied.

Quoted 4 lines

package/kodi-audioencoder-flac: New package
package/kodi-audioencoder-lame: New package
package/kodi-audioencoder-vorbis: New package
package/kodi-audioencoder-wav: New package

Applied, after removing the redundant dependency on optical drive support present in each individual package Config.in file, while the inclusion from package/Config.in was already taking care of it.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com