summaryrefslogtreecommitdiff
path: root/media-video/mplayer
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-07-07 12:24:47 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-07-07 12:24:47 +0100
commit5d8ffbc273ca664e15618d557ced3e02de1a884b (patch)
treebc22fbc6a07790fd70dc8b5148de3089a1c4db3e /media-video/mplayer
parent4187bba080530c5ca1c7dae9c233e88f3fc8f535 (diff)
gentoo auto-resync : 07:07:2024 - 12:24:46
Diffstat (limited to 'media-video/mplayer')
-rw-r--r--media-video/mplayer/Manifest3
-rw-r--r--media-video/mplayer/files/mplayer-1.5_p20231206-incompatible-pointers.patch287
-rw-r--r--media-video/mplayer/mplayer-1.5_p20231206.ebuild4
3 files changed, 293 insertions, 1 deletions
diff --git a/media-video/mplayer/Manifest b/media-video/mplayer/Manifest
index 7e5285c73c1f..f3a7c5f220f1 100644
--- a/media-video/mplayer/Manifest
+++ b/media-video/mplayer/Manifest
@@ -1,5 +1,6 @@
AUX dump_ffmpeg.sh 2529 BLAKE2B 2c945fcf0b430d74c85557f82497dbc4a2a8308ecb34c86e42cc3c6a5eed20496691839355c068ccabf6d20d11d62035231aa208341a1ce9affc44b3e30acfde SHA512 12c15efa5cdb99eac92ff808fa56c6137343cca48b73d5875a7a6b08cf36ebeda5022eb3bae0ba567ff9031d2a0f3b5dbe69ee191ae8ecf48b98a779504df66c
AUX mplayer-1.5_p20230618-gcc13.patch 292 BLAKE2B aad7ac768588ffbaa8feae922d27fcc3d6616cc9945aa102fa8d39a6d1e307eb2d6c76701b95ee1bf5112adec43c8798d877d1c43d450a1ccb0f19620e233ab1 SHA512 7aab19376f93b147d53d48aba5ab0a5d1de1d6bae09ca320138cd12b17952c3ab805918ff994abc27d5e84db98265004c063590370ff009e772ed2344d96f97e
+AUX mplayer-1.5_p20231206-incompatible-pointers.patch 12710 BLAKE2B ffb645ea8adfb987ad4cba597184fbc13b11620376962422446172a37addc5f44f7d2e0bafeed26082704d7d16a499a70ded60696e425a287eb5f96cb8cf3342 SHA512 fccfadf4497e5ab6fc80f5b536fd5a1b2f9cf13c4ff58cfbdc1120af88f76c2dce1362878bbd09a37ef6d7c4d88ded271431fb0a9570a00a2b920f8fe2ba82e9
AUX prepare_mplayer.sh 1490 BLAKE2B f322b1165ea0036ce6e4935d0bc8eb35a1e8f31cff0c579743ba35283809ed725a36008b7e4f34f0a397d7083742ac722bf08100a8035d7e2e265c7bdf5cf9ea SHA512 45019f8d5802e8411e55a6cac41b388ccf1ac0d869a30b4d373925291c37f837c59d5b656813029175c6fba342e4145d9e20f2ef2040a8dc2459a33fb265191b
DIST font-arial-cp1250.tar.bz2 249705 BLAKE2B eb4366a110d917dc975b8add168ab43b1e8a0db7342647f69f5421fc1170719015c97ffa770e89892cbb4cee8e5b2fb74a4772c8f6cbef9606ee12c3746d78c9 SHA512 4f77ff5ceb8ec6e5d9f8f34d8950a6a6276d1fd5a947772fcbdb6554988b1ea665c12b82f45164f91fb7bd08000cb4afc26fa35beb4c760464160e22b9b8c340
DIST font-arial-iso-8859-1.tar.bz2 234242 BLAKE2B 0671854e1a257d27b502affb59de681942a93990d3ac2575bbf1a6dd9eef026969f2f9ce4e9c11a68ea3d8aed48063f826a1e153f7468437a39791672c92a5d0 SHA512 a1d03b6f09c48f48b7733f3bc0402ceab239a9abf88b860d852ea9fe69b4da690208a79d6f29d30204f5b37becf10672e8e8c0bfef201846d80ec54df617d029
@@ -9,6 +10,6 @@ DIST mplayer-1.5_p20230618.tar.xz 15101476 BLAKE2B 74f1d2d579c83330d8bf1e1ce2a89
DIST mplayer-1.5_p20231206.tar.xz 15212032 BLAKE2B c4658a0070296a9e24bb8388787a2ef322fefad4f4ea095bbf3f95b20f2e32b0423814ae311e43c9a6ef20afe0970540abd5d6d0ae0ebd59df74a8beb7abe3df SHA512 480502c735fb8d24ea1761a2b3f7daf1872df268f44791c7141f5b444b583beb0e4ecebe94e04129d27aae27656baddfb2da50406a431f1df39c589baac69432
EBUILD mplayer-1.5_p20230215.ebuild 17501 BLAKE2B 84cdc744deb52c78e3bed5b8d41a9a64233505b9d851cc0bc402840bd2e9bbabe2af4fd63a68c476c696cf7793fb580bb28391b891bb3985f5ceefe5271a899a SHA512 3fb5a1c6325a0878c8ac9f017502c33f820932be898becfc36625a1115462a358e59a947f80913f4cbb404935bec751fc52ab5d831950567a1dc9d1aa446a847
EBUILD mplayer-1.5_p20230618.ebuild 17893 BLAKE2B 96f7f68b54ea6940a8a7858c18adbdeb72c35b7078445075dcbe2f956bf6e2e9d23b2a4eed14b34ff5ad395397cbb368517b430db6e5b13d7852aef0973e7d3c SHA512 3e68896891cff03089954a413aedff501c48672306776ad09da74d6b9793a21f1b63d63c26b94709075d42dfd32d2746d95d828c5efd5ebc66be743f584fe384
-EBUILD mplayer-1.5_p20231206.ebuild 17853 BLAKE2B 4407c637b5ae7eb5c9c07661ac617dcf0d48877e1b2447ff50dfc109e5cc14a8993ef10e015ad98db8c76a19dd51735b16da379ca2707b18e03b3286019c2197 SHA512 c33825186eddbd6d1cab2f490663318ec815f880c86466efba09ea80f7dc367a9fbbb7852d5ef109d3b2651d50a67ebfd937728e8fb6471258b50c1fe1ee6480
+EBUILD mplayer-1.5_p20231206.ebuild 17914 BLAKE2B 2d42fbccb6ecc1050821d5c62e2b2135f5d92e6739d806920f10de410cccfe05525f3b8cd02001ebb3fbd0c9b089699c54f8856eae1a3eeafef552f63d77b4be SHA512 0204650a953831776d53919b8d397c5ba2bb30fa08d7039a802e784178f70e623f2cb6f0807f17bfbf04687ad31d70169200ebe1c966a242c739acdf354c258c
EBUILD mplayer-9999.ebuild 17853 BLAKE2B 4407c637b5ae7eb5c9c07661ac617dcf0d48877e1b2447ff50dfc109e5cc14a8993ef10e015ad98db8c76a19dd51735b16da379ca2707b18e03b3286019c2197 SHA512 c33825186eddbd6d1cab2f490663318ec815f880c86466efba09ea80f7dc367a9fbbb7852d5ef109d3b2651d50a67ebfd937728e8fb6471258b50c1fe1ee6480
MISC metadata.xml 2475 BLAKE2B 5a083ce5b8ed729245ec9eaf544be95f6cbdb9fcb5b80d3a21195557c3aede46d09bd93a0d1acd3830fc796f90dd5f15a17a3d3c69ba2a1a54a0676264dd02de SHA512 f04082ffd63adf9102dd82eb5b4c628fbf912701c7dae69f0b00bbad4e0957355e43369912e9422acc087200de982920c212efb60ba9c26675f74fd5f37fd739
diff --git a/media-video/mplayer/files/mplayer-1.5_p20231206-incompatible-pointers.patch b/media-video/mplayer/files/mplayer-1.5_p20231206-incompatible-pointers.patch
new file mode 100644
index 000000000000..2fe47a941685
--- /dev/null
+++ b/media-video/mplayer/files/mplayer-1.5_p20231206-incompatible-pointers.patch
@@ -0,0 +1,287 @@
+--- a/libaf/af_lavcresample.c
++++ b/libaf/af_lavcresample.c
+@@ -156,7 +156,7 @@ static af_data_t* play(struct af_instance_s* af, af_data_t* data)
+
+ memcpy(s->in[0], in, in_len);
+
+- ret = swr_convert(s->swrctx, &s->tmp[0], out_len/chans/2, &s->in[0], in_len/chans/2);
++ ret = swr_convert(s->swrctx, &s->tmp[0], out_len/chans/2, (const uint8_t **)&s->in[0], in_len/chans/2);
+ if (ret < 0) return NULL;
+ out_len= ret*chans*2;
+
+--- a/libmpcodecs/ad_spdif.c
++++ b/libmpcodecs/ad_spdif.c
+@@ -131,7 +131,7 @@ static int init(sh_audio_t *sh)
+ // FORCE USE DTS-HD
+ if (lavf_ctx->streams[0]->codecpar->codec_id == AV_CODEC_ID_DTS)
+ av_dict_set(&opts, "dtshd_rate", "768000" /* 192000*4 */, 0);
+- if ((res = avformat_write_header(lavf_ctx, opts)) < 0) {
++ if ((res = avformat_write_header(lavf_ctx, (AVDictionary **)opts)) < 0) {
+ av_dict_free(&opts);
+ if (res == AVERROR_PATCHWELCOME)
+ mp_msg(MSGT_DECAUDIO,MSGL_INFO,
+--- a/libmpcodecs/vd_ffmpeg.c
++++ b/libmpcodecs/vd_ffmpeg.c
+@@ -739,7 +739,7 @@ static int get_buffer(AVCodecContext *avctx, AVFrame *pic, int isreference){
+ if (ctx->use_vdpau) {
+ VdpVideoSurface surface = (VdpVideoSurface)mpi->priv;
+ avctx->draw_horiz_band= NULL;
+- mpi->planes[3] = surface;
++ mpi->planes[3] = (unsigned char *)surface;
+ }
+ #endif
+ #if CONFIG_XVMC
+--- a/libmpcodecs/vf_pp.c
++++ b/libmpcodecs/vf_pp.c
+@@ -142,7 +142,7 @@ static int put_image(struct vf_instance *vf, mp_image_t *mpi, double pts, double
+
+ if(vf->priv->pp || !(mpi->flags&MP_IMGFLAG_DIRECT)){
+ // do the postprocessing! (or copy if no DR)
+- pp_postprocess(mpi->planes ,mpi->stride,
++ pp_postprocess((const uint8_t **)mpi->planes ,mpi->stride,
+ vf->dmpi->planes,vf->dmpi->stride,
+ (mpi->w+7)&(~7),mpi->h,
+ mpi->qscale, mpi->qstride,
+--- a/libmpcodecs/vf_scale.c
++++ b/libmpcodecs/vf_scale.c
+@@ -439,14 +439,14 @@ static void scale(struct SwsContext *sws1, struct SwsContext *sws2, uint8_t *src
+ int src_stride2[MP_MAX_PLANES]={2*src_stride[0], 2*src_stride[1], 2*src_stride[2], 2*src_stride[3]};
+ int dst_stride2[MP_MAX_PLANES]={2*dst_stride[0], 2*dst_stride[1], 2*dst_stride[2], 2*dst_stride[3]};
+
+- sws_scale(sws1, src2, src_stride2, y>>1, h>>1, dst2, dst_stride2);
++ sws_scale(sws1, (const uint8_t * const*)src2, src_stride2, y>>1, h>>1, dst2, dst_stride2);
+ for(i=0; i<MP_MAX_PLANES; i++){
+ src2[i] += src_stride[i];
+ dst2[i] += dst_stride[i];
+ }
+- sws_scale(sws2, src2, src_stride2, y>>1, h>>1, dst2, dst_stride2);
++ sws_scale(sws2, (const uint8_t * const*)src2, src_stride2, y>>1, h>>1, dst2, dst_stride2);
+ }else{
+- sws_scale(sws1, src2, src_stride, y, h, dst, dst_stride);
++ sws_scale(sws1, (const uint8_t * const*)src2, src_stride, y, h, dst, dst_stride);
+ }
+ }
+
+--- a/libmpcodecs/vf_screenshot.c
++++ b/libmpcodecs/vf_screenshot.c
+@@ -60,7 +60,7 @@ static void draw_slice(struct vf_instance *vf, unsigned char** src,
+ int* stride, int w,int h, int x, int y)
+ {
+ if (vf->priv->store_slices) {
+- sws_scale(vf->priv->ctx, src, stride, y, h, vf->priv->pic->data, vf->priv->pic->linesize);
++ sws_scale(vf->priv->ctx, (const uint8_t * const*)src, stride, y, h, vf->priv->pic->data, vf->priv->pic->linesize);
+ }
+ vf_next_draw_slice(vf,src,stride,w,h,x,y);
+ }
+@@ -158,7 +158,7 @@ static void scale_image(struct vf_priv_s* priv, mp_image_t *mpi)
+ if (!priv->pic->data[0])
+ priv->pic->data[0] = av_malloc(priv->pic->linesize[0]*priv->dh);
+
+- sws_scale(priv->ctx, mpi->planes, mpi->stride, 0, mpi->height, priv->pic->data, priv->pic->linesize);
++ sws_scale(priv->ctx, (const uint8_t * const*)mpi->planes, mpi->stride, 0, mpi->height, priv->pic->data, priv->pic->linesize);
+ }
+
+ static void start_slice(struct vf_instance *vf, mp_image_t *mpi)
+--- a/libmpdemux/demux_film.c
++++ b/libmpdemux/demux_film.c
+@@ -157,7 +157,7 @@ static int demux_film_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds)
+ free(buf);
+ }
+ else {/* for 16bit */
+- unsigned short* tmp = dp->buffer;
++ unsigned short* tmp = (short unsigned int *)dp->buffer;
+ unsigned short* buf = malloc(film_chunk.chunk_size);
+ for(i = 0; i < film_chunk.chunk_size/4; i++) {
+ buf[i*2] = tmp[i];
+--- a/libmpdemux/demux_lavf.c
++++ b/libmpdemux/demux_lavf.c
+@@ -378,7 +378,7 @@ static void handle_stream(demuxer_t *demuxer, AVFormatContext *avfc, int i) {
+ }
+ case AVMEDIA_TYPE_VIDEO:{
+ AVDictionaryEntry *rot = av_dict_get(st->metadata, "rotate", NULL, 0);
+- const int32_t *disp_matrix = av_stream_get_side_data(st, AV_PKT_DATA_DISPLAYMATRIX, NULL);
++ const int32_t *disp_matrix = (const int32_t *)av_stream_get_side_data(st, AV_PKT_DATA_DISPLAYMATRIX, NULL);
+ sh_video_t* sh_video;
+ BITMAPINFOHEADER *bih;
+ sh_video=new_sh_video_vid(demuxer, i, priv->video_streams);
+--- a/libmpdemux/muxer_avi.c
++++ b/libmpdemux/muxer_avi.c
+@@ -142,8 +142,8 @@ static muxer_stream_t* avifile_new_stream(muxer_t *muxer,int type){
+ static void write_avi_chunk(stream_t *stream,unsigned int id,int len,void* data){
+ int le_len = le2me_32(len);
+ int le_id = le2me_32(id);
+- stream_write_buffer(stream, &le_id, 4);
+- stream_write_buffer(stream, &le_len, 4);
++ stream_write_buffer(stream, (unsigned char *)&le_id, 4);
++ stream_write_buffer(stream, (unsigned char *)&le_len, 4);
+
+ if(len>0){
+ if(data){
+@@ -176,9 +176,9 @@ static void write_avi_list(stream_t *stream, unsigned int id, int len)
+ list_id = le2me_32(list_id);
+ le_len = le2me_32(len);
+ le_id = le2me_32(id);
+- stream_write_buffer(stream, &list_id, 4);
+- stream_write_buffer(stream, &le_len, 4);
+- stream_write_buffer(stream, &le_id, 4);
++ stream_write_buffer(stream, (unsigned char *)&list_id, 4);
++ stream_write_buffer(stream, (unsigned char *)&le_len, 4);
++ stream_write_buffer(stream, (unsigned char *)&le_id, 4);
+ }
+
+ static void avifile_odml_new_riff(muxer_t *muxer)
+@@ -199,7 +199,7 @@ static void avifile_odml_new_riff(muxer_t *muxer)
+ riff[0]=le2me_32(mmioFOURCC('R','I','F','F'));
+ riff[1]=0;
+ riff[2]=le2me_32(mmioFOURCC('A','V','I','X'));
+- stream_write_buffer(muxer->stream, riff, 12);
++ stream_write_buffer(muxer->stream, (unsigned char *)riff, 12);
+
+ write_avi_list(muxer->stream,listtypeAVIMOVIE,0);
+
+@@ -251,12 +251,12 @@ static void avifile_write_header(muxer_t *muxer){
+ movilen = le2me_32(rifflen - 12);
+ rifflen = le2me_32(rifflen);
+ stream_seek(muxer->stream, vsi->riffofs[i]+4);
+- stream_write_buffer(muxer->stream,&rifflen,4);
++ stream_write_buffer(muxer->stream,(unsigned char *)&rifflen,4);
+
+ /* fixup movi length */
+ if (i > 0) {
+ stream_seek(muxer->stream, vsi->riffofs[i]+16);
+- stream_write_buffer(muxer->stream,&movilen,4);
++ stream_write_buffer(muxer->stream,(unsigned char *)&movilen,4);
+ }
+ }
+
+@@ -269,7 +269,7 @@ static void avifile_write_header(muxer_t *muxer){
+ riff[0]=le2me_32(riff[0]);
+ riff[1]=le2me_32(riff[1]);
+ riff[2]=le2me_32(riff[2]);
+- stream_write_buffer(muxer->stream,&riff,12);
++ stream_write_buffer(muxer->stream,(unsigned char *)&riff,12);
+ }
+
+ // update AVI header:
+@@ -406,7 +406,7 @@ static void avifile_write_header(muxer_t *muxer){
+ idxhdr[6] = 0;
+ idxhdr[7] = 0;
+
+- stream_write_buffer(muxer->stream,idxhdr,sizeof(idxhdr));
++ stream_write_buffer(muxer->stream,(unsigned char *)idxhdr,sizeof(idxhdr));
+ for (j=0; j<n; j++) {
+ struct avi_odmlsuperidx_entry *entry = &si->superidx[j];
+ unsigned int data[4];
+@@ -414,7 +414,7 @@ static void avifile_write_header(muxer_t *muxer){
+ data[1] = le2me_32(entry->ofs >> 32);
+ data[2] = le2me_32(entry->len);
+ data[3] = le2me_32(entry->duration);
+- stream_write_buffer(muxer->stream,data,sizeof(data));
++ stream_write_buffer(muxer->stream,(unsigned char *)data,sizeof(data));
+ }
+ }
+ }
+@@ -642,13 +642,13 @@ static void avifile_odml_write_index(muxer_t *muxer){
+ si->superidx[j].ofs = stream_tell(muxer->stream);
+ si->superidx[j].duration = duration;
+
+- stream_write_buffer(muxer->stream, idxhdr,sizeof(idxhdr));
++ stream_write_buffer(muxer->stream, (unsigned char *)idxhdr,sizeof(idxhdr));
+ for (k=0; k<entries_per_subidx && idxpos<si->idxpos; k++) {
+ unsigned int entry[2];
+ entry[0] = le2me_32(si->idx[idxpos].ofs - start);
+ entry[1] = le2me_32(si->idx[idxpos].len | si->idx[idxpos].flags);
+ idxpos++;
+- stream_write_buffer(muxer->stream, entry, sizeof(entry));
++ stream_write_buffer(muxer->stream, (unsigned char *)entry, sizeof(entry));
+ }
+ }
+ }
+--- a/libvo/gl_common.c
++++ b/libvo/gl_common.c
+@@ -2239,7 +2239,7 @@ static XVisualInfo *getWindowVisualInfo(Window win) {
+ XVisualInfo vinfo_template;
+ int tmp;
+ if (!XGetWindowAttributes(mDisplay, win, &xw_attr))
+- return DefaultVisual(mDisplay, 0);
++ return (XVisualInfo *)DefaultVisual(mDisplay, 0);
+ vinfo_template.visualid = XVisualIDFromVisual(xw_attr.visual);
+ return XGetVisualInfo(mDisplay, VisualIDMask, &vinfo_template, &tmp);
+ }
+--- a/libvo/vo_matrixview.c
++++ b/libvo/vo_matrixview.c
+@@ -170,7 +170,7 @@ static void flip_page(void)
+
+ static int draw_slice(uint8_t *src[], int stride[], int w, int h, int x, int y)
+ {
+- sws_scale(sws, src, stride, y, h, map_image, map_stride);
++ sws_scale(sws, (const uint8_t * const*)src, stride, y, h, map_image, map_stride);
+ return 0;
+ }
+
+--- a/libvo/vo_x11.c
++++ b/libvo/vo_x11.c
+@@ -492,7 +492,7 @@ static int draw_slice(uint8_t * src[], int stride[], int w, int h,
+ dst[0] += dstStride[0] * (image_height - 1);
+ dstStride[0] = -dstStride[0];
+ }
+- sws_scale(swsContext, src, stride, y, h, dst, dstStride);
++ sws_scale(swsContext, (const uint8_t * const*)src, stride, y, h, dst, dstStride);
+ return 0;
+ }
+
+--- a/loader/qtx/qtxsdk/components.h
++++ b/loader/qtx/qtxsdk/components.h
+@@ -780,7 +780,7 @@ static inline void dump_CodecDecompressParams(void* xxx){
+ printf("dstrect: %d;%d - %d;%d\n",cd->dstRect.top,cd->dstRect.left,cd->dstRect.bottom,cd->dstRect.right);
+ printf("wantedDestinationPixelTypes=%p\n",cd->wantedDestinationPixelTypes);
+ if(cd->wantedDestinationPixelTypes){
+- unsigned int* p=cd->wantedDestinationPixelTypes;
++ unsigned int* p=(unsigned int *)cd->wantedDestinationPixelTypes;
+ while(p[0]){
+ printf(" 0x%08X %p\n",p[0],&p[0]);
+ ++p;
+--- a/mp_msg.c
++++ b/mp_msg.c
+@@ -70,7 +70,7 @@ const char* filename_recode(const char* filename)
+ filename_len = strlen(filename);
+ max_path = MSGSIZE_MAX - 4;
+ precoded = recoded_filename;
+- if (iconv(inv_msgiconv, &filename, &filename_len,
++ if (iconv(inv_msgiconv, (char ** restrict)&filename, &filename_len,
+ &precoded, &max_path) == (size_t)(-1) && errno == E2BIG) {
+ precoded[0] = precoded[1] = precoded[2] = '.';
+ precoded += 3;
+--- a/mplayer.c
++++ b/mplayer.c
+@@ -3536,7 +3536,7 @@ goto_enable_cache:
+ break;
+ if ((mpctx->demuxer->file_format == DEMUXER_TYPE_AVI || mpctx->demuxer->file_format == DEMUXER_TYPE_ASF || mpctx->demuxer->file_format == DEMUXER_TYPE_MOV)
+ && stream_dump_type == 2)
+- stream_write_buffer(os, &in_size, 4);
++ stream_write_buffer(os, (unsigned char *)&in_size, 4);
+ if (in_size > 0) {
+ stream_write_buffer(os, start, in_size);
+ stream_dump_progress(in_size, mpctx->stream);
+--- a/sub/spudec.c
++++ b/sub/spudec.c
+@@ -899,7 +899,7 @@ static void sws_spu_image(unsigned char *d1, unsigned char *d2, int dw, int dh,
+ ctx=sws_getContext(sw, sh, AV_PIX_FMT_GRAY8, dw, dh, AV_PIX_FMT_GRAY8, SWS_GAUSS, &filter, NULL, NULL);
+ sws_scale(ctx,&s1,&ss,0,sh,&d1,&ds);
+ for (i=ss*sh-1; i>=0; i--) s2[i] = -s2[i];
+- sws_scale(ctx,&s2,&ss,0,sh,&d2,&ds);
++ sws_scale(ctx,(const uint8_t * const*)&s2,&ss,0,sh,&d2,&ds);
+ for (i=ds*dh-1; i>=0; i--) d2[i] = -d2[i];
+ sws_freeContext(ctx);
+ }
+--- a/sub/sub.c
++++ b/sub/sub.c
+@@ -727,7 +727,7 @@ static inline void vo_update_text_sub(mp_osd_obj_t *obj, int dxs, int dys)
+ // reading the subtitle words from vo_sub->text[]
+ while (*t) {
+ if (sub_utf8)
+- c = utf8_get_char(&t);
++ c = utf8_get_char((const char **)&t);
+ else if ((c = *t++) >= 0x80 && sub_unicode)
+ c = (c<<8) + *t++;
+ if (k==MAX_UCS){
diff --git a/media-video/mplayer/mplayer-1.5_p20231206.ebuild b/media-video/mplayer/mplayer-1.5_p20231206.ebuild
index b7e9b5420e81..54ab8bf0f878 100644
--- a/media-video/mplayer/mplayer-1.5_p20231206.ebuild
+++ b/media-video/mplayer/mplayer-1.5_p20231206.ebuild
@@ -194,6 +194,10 @@ REQUIRED_USE="
xv? ( X )"
RESTRICT="faac? ( bindist )"
+PATCHES=(
+ "${FILESDIR}/${P}-incompatible-pointers.patch"
+)
+
pkg_setup() {
if [[ ${PV} == *9999* ]]; then
elog