It's archived and in master-next bundle: http://patchwork.openembedded.org/bundle/jama/master-next/?archive=both
http://openembedded.org/wiki/Patchwork#Multiple_layers_sharing_the_same_oe_project_on_patchwork Now there is second entry from this ping :/ http://patchwork.openembedded.org/patch/113581/ the original is: http://patchwork.openembedded.org/patch/112819/ On Mon, Jan 25, 2016 at 11:52 AM, Belal, Awais <[email protected]> wrote: > Thanks a lot Martin but the state only says 'New' :) > > BR, > Awais > > ________________________________________ > From: [email protected] [ > [email protected]] on behalf of Martin > Jansa [[email protected]] > Sent: Monday, January 25, 2016 2:01 PM > To: openembedded-devel > Subject: Re: [oe] [meta-oe][PATCH] mplayer2: fix building with gcc 5.x > > It's in master-next waiting for next round of jenkins builds. > > You can see the status on patchwork. > > On Mon, Jan 25, 2016 at 9:28 AM, Belal, Awais <[email protected]> > wrote: > > > Ping > > > > BR, > > Awais > > > > ________________________________________ > > From: [email protected] [ > > [email protected]] on behalf of Belal, > > Awais > > Sent: Monday, January 18, 2016 7:08 PM > > To: [email protected] > > Subject: [oe] [meta-oe][PATCH] mplayer2: fix building with gcc 5.x > > > > This patch works around a potential problem in the theora > > glue code where it assumes that the compiler will > > somehow find a function which is not exported explicitly > > through the libtheora library. Due to this problem the > > build fails with gcc-5.x compiler. > > The included patch essentially backports a commit which > > updates the glue code to use the Theora 1.0 API to > > eliminate this problem and PNBLACKLIST is cleared > > for mplayer2. > > > > Signed-off-by: Awais Belal <[email protected]> > > --- > > ...artially-port-libtheora-glue-code-to-Theo.patch | 136 > > +++++++++++++++++++++ > > meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb | 4 +- > > 2 files changed, 137 insertions(+), 3 deletions(-) > > create mode 100644 > > > meta-oe/recipes-multimedia/mplayer/mplayer2/0001-demux_ogg-partially-port-libtheora-glue-code-to-Theo.patch > > > > diff --git > > > a/meta-oe/recipes-multimedia/mplayer/mplayer2/0001-demux_ogg-partially-port-libtheora-glue-code-to-Theo.patch > > > b/meta-oe/recipes-multimedia/mplayer/mplayer2/0001-demux_ogg-partially-port-libtheora-glue-code-to-Theo.patch > > new file mode 100644 > > index 0000000..b4d9841 > > --- /dev/null > > +++ > > > b/meta-oe/recipes-multimedia/mplayer/mplayer2/0001-demux_ogg-partially-port-libtheora-glue-code-to-Theo.patch > > @@ -0,0 +1,136 @@ > > +From 0571bb4f1a6e1934ee7e093ce7aa517b9bac8e6a Mon Sep 17 00:00:00 2001 > > +From: Awais Belal <[email protected]> > > +Date: Sun, 17 Jan 2016 14:46:10 +0500 > > +Subject: [PATCH] demux_ogg: partially port libtheora glue code to Theora > > 1.0 > > + API > > + > > +This partially backports the following commit to allow building > > +with gcc-5.x and otherwise fails to find the definition of > > +the _ilog function the way it is used. > > + > > + > > > https://github.com/pigoz/mplayer-svn/commit/85e51408cd00979fc209da8e3a39b6f0e7f325bc > > + > > +Signed-off-by: Awais Belal <[email protected]> > > +--- > > + libmpdemux/demux_ogg.c | 52 > > ++++++++++++++++++++++++++------------------------ > > + 1 file changed, 27 insertions(+), 25 deletions(-) > > + > > +diff --git a/libmpdemux/demux_ogg.c b/libmpdemux/demux_ogg.c > > +index 9eea061..9144426 100644 > > +--- a/libmpdemux/demux_ogg.c > > ++++ b/libmpdemux/demux_ogg.c > > +@@ -50,8 +50,7 @@ > > + #endif > > + > > + #ifdef CONFIG_OGGTHEORA > > +-#include <theora/theora.h> > > +-int _ilog (unsigned int); /* defined in many places in theora/lib/ */ > > ++#include <theora/theoradec.h> > > + #endif > > + > > + #define BLOCK_SIZE 4096 > > +@@ -62,9 +61,10 @@ int _ilog (unsigned int); /* defined in many places > in > > theora/lib/ */ > > + */ > > + #ifdef CONFIG_OGGTHEORA > > + typedef struct theora_struct_st { > > +- theora_state st; > > +- theora_comment cc; > > +- theora_info inf; > > ++ th_setup_info *tsi; > > ++ th_dec_ctx *tctx; > > ++ th_comment tc; > > ++ th_info ti; > > + } theora_struct_t; > > + #endif > > + > > +@@ -117,7 +117,7 @@ typedef struct ogg_stream { > > + float samplerate; /// granulpos 2 time > > + int64_t lastpos; > > + int32_t lastsize; > > +- int keyframe_frequency_force; > > ++ int keyframe_granule_shift; > > + > > + // Logical stream state > > + ogg_stream_state stream; > > +@@ -300,11 +300,10 @@ static unsigned char > > *demux_ogg_read_packet(ogg_stream_t *os, ogg_packet *pack, > > + have theora_state st, until all header packets were passed > to > > the > > + decoder. */ > > + if (!pack->bytes || !(*data&0x80)) { > > +- int keyframe_granule_shift = > > _ilog(os->keyframe_frequency_force - 1); > > +- int64_t iframemask = (1 << keyframe_granule_shift) - 1; > > ++ int64_t iframemask = iframemask = (1 << > > os->keyframe_granule_shift) - 1; > > + > > + if (pack->granulepos >= 0) { > > +- os->lastpos = pack->granulepos >> > > keyframe_granule_shift; > > ++ os->lastpos = pack->granulepos >> > > os->keyframe_granule_shift; > > + os->lastpos += pack->granulepos & iframemask; > > + *keyframe = (pack->granulepos & iframemask) == 0; > > + } else { > > +@@ -888,14 +887,15 @@ int demux_ogg_open(demuxer_t *demuxer) > > + #ifdef CONFIG_OGGTHEORA > > + } else if (pack.bytes >= 7 && !strncmp (&pack.packet[1], > > "theora", 6)) { > > + int errorCode = 0; > > +- theora_info inf; > > +- theora_comment cc; > > ++ th_info ti; > > ++ th_comment tc; > > ++ th_setup_info *tsi = NULL; > > + > > +- theora_info_init (&inf); > > +- theora_comment_init (&cc); > > ++ th_info_init (&ti); > > ++ th_comment_init (&tc); > > + > > +- errorCode = theora_decode_header (&inf, &cc, &pack); > > +- if (errorCode) { > > ++ errorCode = th_decode_headerin(&ti, &tc, &tsi, &pack); > > ++ if (errorCode < 0) { > > + mp_msg(MSGT_DEMUX, MSGL_ERR, > > + "Theora header parsing failed: %i \n", > errorCode); > > + } else { > > +@@ -904,30 +904,32 @@ int demux_ogg_open(demuxer_t *demuxer) > > + sh_v->bih = calloc(1, sizeof(*sh_v->bih)); > > + sh_v->bih->biSize = sizeof(*sh_v->bih); > > + sh_v->bih->biCompression = sh_v->format = > FOURCC_THEORA; > > +- sh_v->fps = ((double)inf.fps_numerator) / > > (double)inf.fps_denominator; > > +- sh_v->frametime = ((double)inf.fps_denominator) / > > (double)inf.fps_numerator; > > +- sh_v->disp_w = sh_v->bih->biWidth = inf.frame_width; > > +- sh_v->disp_h = sh_v->bih->biHeight = inf.frame_height; > > ++ sh_v->fps = ((double)ti.fps_numerator) / > > (double)ti.fps_denominator; > > ++ sh_v->frametime = ((double)ti.fps_denominator) / > > (double)ti.fps_numerator; > > ++ sh_v->i_bps = ti.target_bitrate / 8; > > ++ sh_v->disp_w = sh_v->bih->biWidth = ti.frame_width; > > ++ sh_v->disp_h = sh_v->bih->biHeight = ti.frame_height; > > + sh_v->bih->biBitCount = 24; > > + sh_v->bih->biPlanes = 3; > > + sh_v->bih->biSizeImage = ((sh_v->bih->biBitCount / 8) * > > sh_v->bih->biWidth * sh_v->bih->biHeight); > > + ogg_d->subs[ogg_d->num_sub].samplerate = > > sh_v->fps; > > + ogg_d->subs[ogg_d->num_sub].theora = > 1; > > +- ogg_d->subs[ogg_d->num_sub].keyframe_frequency_force = > > inf.keyframe_frequency_force; > > ++ ogg_d->subs[ogg_d->num_sub].keyframe_granule_shift = > > ti.keyframe_granule_shift; > > + ogg_d->subs[ogg_d->num_sub].id = > > n_video; > > + n_video++; > > + mp_msg(MSGT_DEMUX, MSGL_INFO, > > + "[Ogg] stream %d: video (Theora v%d.%d.%d), -vid > > %d\n", > > + ogg_d->num_sub, > > +- (int)inf.version_major, > > +- (int)inf.version_minor, > > +- (int)inf.version_subminor, > > ++ (int)ti.version_major, > > ++ (int)ti.version_minor, > > ++ (int)ti.version_subminor, > > + n_video - 1); > > + if (mp_msg_test(MSGT_HEADER, MSGL_V)) > > + print_video_header(sh_v->bih, MSGL_V); > > + } > > +- theora_comment_clear(&cc); > > +- theora_info_clear(&inf); > > ++ th_comment_clear(&tc); > > ++ th_info_clear(&ti); > > ++ th_setup_free(tsi); > > + #endif /* CONFIG_OGGTHEORA */ > > + } else if (pack.bytes >= 4 && !strncmp (&pack.packet[0], > "fLaC", > > 4)) { > > + sh_a = new_sh_audio_aid(demuxer, ogg_d->num_sub, n_audio); > > +-- > > +1.9.1 > > + > > diff --git a/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb > > b/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb > > index 2f0369a..9df4e74 100644 > > --- a/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb > > +++ b/meta-oe/recipes-multimedia/mplayer/mplayer2_git.bb > > @@ -21,6 +21,7 @@ LIC_FILES_CHKSUM = > > "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504" > > > > SRC_URI = "git://repo.or.cz/mplayer.git \ > > > > file://0001-configure-don-t-disable-ASS-support-when-explicitly-.patch \ > > + > > file://0001-demux_ogg-partially-port-libtheora-glue-code-to-Theo.patch \ > > " > > > > SRCREV = "2c378c71a4d9b1df382db9aa787b646628b4e3f9" > > @@ -153,6 +154,3 @@ do_install() { > > install ${S}/etc/codecs.conf ${D}/usr/etc/mplayer/ > > [ -e ${D}/usr/lib ] && rmdir ${D}/usr/lib > > } > > - > > -# | libmpdemux/demux_ogg.o:demux_ogg.c:function demux_ogg_read_packet: > > error: undefined reference to '_ilog' > > -PNBLACKLIST[mplayer2] ?= "BROKEN, fails to build with gcc-5" > > -- > > 1.9.1 > > > > -- > > _______________________________________________ > > Openembedded-devel mailing list > > [email protected] > > http://lists.openembedded.org/mailman/listinfo/openembedded-devel > > -- > > _______________________________________________ > > Openembedded-devel mailing list > > [email protected] > > http://lists.openembedded.org/mailman/listinfo/openembedded-devel > > > -- > _______________________________________________ > Openembedded-devel mailing list > [email protected] > http://lists.openembedded.org/mailman/listinfo/openembedded-devel > -- > _______________________________________________ > Openembedded-devel mailing list > [email protected] > http://lists.openembedded.org/mailman/listinfo/openembedded-devel > -- _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
