packages: gpac/gpac.spec, gpac/gpac-ffmpeg-0.8.patch (NEW) - added ffmped-0...

qboosh qboosh at pld-linux.org
Mon Jun 27 21:34:26 CEST 2011


Author: qboosh                       Date: Mon Jun 27 19:34:26 2011 GMT
Module: packages                      Tag: HEAD
---- Log message:
- added ffmped-0.8 patch
- ghost soname symlink
- package headers as -devel
- release 2

---- Files affected:
packages/gpac:
   gpac.spec (1.33 -> 1.34) , gpac-ffmpeg-0.8.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/gpac/gpac.spec
diff -u packages/gpac/gpac.spec:1.33 packages/gpac/gpac.spec:1.34
--- packages/gpac/gpac.spec:1.33	Sun May 29 21:55:01 2011
+++ packages/gpac/gpac.spec	Mon Jun 27 21:34:21 2011
@@ -16,7 +16,7 @@
 Summary(pl.UTF-8):	GPAC - implementacja standardu MPEG-4 Systems (ISO/IEC 14496-1)
 Name:		gpac
 Version:	0.4.5
-Release:	1
+Release:	2
 License:	LGPL v2+
 Group:		Applications/Multimedia
 Source0:	http://downloads.sourceforge.net/gpac/%{name}-%{version}.tar.gz
@@ -29,6 +29,7 @@
 Patch5:		%{name}-ffmpeg.patch
 Patch6:		%{name}-install-is-not-clean.patch
 Patch7:		%{name}-flags.patch
+Patch8:		%{name}-ffmpeg-0.8.patch
 URL:		http://gpac.sourceforge.net/
 BuildRequires:	SDL-devel
 BuildRequires:	a52dec-libs-devel
@@ -36,7 +37,7 @@
 %{?with_amr:BuildRequires:	amrnb-devel}
 %{?with_amr:BuildRequires:	amrwb-devel}
 %{?with_faad:BuildRequires:	faad2-devel}
-%{?with_ffmpeg:BuildRequires:	ffmpeg-devel >= 0.6}
+%{?with_ffmpeg:BuildRequires:	ffmpeg-devel >= 0.8}
 %{?with_freetype:BuildRequires:	freetype-devel}
 BuildRequires:	jack-audio-connection-kit-devel
 %{?with_js:BuildRequires:	js-devel}
@@ -90,6 +91,18 @@
 Projekt docelowo dostarczy odtwarzacz(e), kodery systemowe i narzędzia
 do publikacji w celu dystrybucji materiałów.
 
+%package devel
+Summary:	Header files for GPAC library
+Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki GPAC
+Group:		Development/Libraries
+Requires:	%{name} = %{version}-%{release}
+
+%description devel
+Header files for GPAC library.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki GPAC.
+
 %package gui
 Summary:	wxWidgets-based GUI for GPAC
 Summary(pl.UTF-8):	Oparty na wxWidgets graficzny interfejs do GPAC
@@ -126,6 +139,7 @@
 %patch5 -p1
 %patch6 -p1
 %patch7 -p1
+%patch8 -p1
 
 %if %{with amr}
 sed -i -e 's/amr_\([nw]b\)_ft/amr\1/' modules/amr_float_dec/amr_float_dec.c
@@ -173,6 +187,9 @@
 	libdir=%{_lib} \
 	MOZILLA_DIR=$RPM_BUILD_ROOT%{_browserpluginsdir}
 
+install -d $RPM_BUILD_ROOT%{_includedir}
+cp -a include/gpac $RPM_BUILD_ROOT%{_includedir}/gpac
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -193,7 +210,7 @@
 %attr(755,root,root) %{_bindir}/MP4Box
 %attr(755,root,root) %{_bindir}/MP4Client
 %attr(755,root,root) %{_libdir}/libgpac-%{version}.so
-%attr(755,root,root) %{_libdir}/libgpac.so
+%attr(755,root,root) %ghost %{_libdir}/libgpac.so
 %dir %{_libdir}/gpac
 %attr(755,root,root) %{_libdir}/gpac/gm_*.so
 %{_datadir}/gpac
@@ -201,6 +218,10 @@
 %{_mandir}/man1/mp4box.1*
 %{_mandir}/man1/mp4client.1*
 
+%files devel
+%defattr(644,root,root,755)
+%{_includedir}/gpac
+
 %files gui
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/Osmo4
@@ -216,6 +237,12 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.34  2011/06/27 19:34:21  qboosh
+- added ffmped-0.8 patch
+- ghost soname symlink
+- package headers as -devel
+- release 2
+
 Revision 1.33  2011/05/29 19:55:01  qboosh
 - added flags patch (fixes build with current toolchain)
 - updated xulrunner patch (mozilla-config.h needed by 2.0)

================================================================
Index: packages/gpac/gpac-ffmpeg-0.8.patch
diff -u /dev/null packages/gpac/gpac-ffmpeg-0.8.patch:1.1
--- /dev/null	Mon Jun 27 21:34:26 2011
+++ packages/gpac/gpac-ffmpeg-0.8.patch	Mon Jun 27 21:34:21 2011
@@ -0,0 +1,160 @@
+--- gpac/modules/ffmpeg_in/ffmpeg_decode.c.orig	2011-06-27 18:51:07.878588020 +0200
++++ gpac/modules/ffmpeg_in/ffmpeg_decode.c	2011-06-27 20:18:43.345430660 +0200
+@@ -24,6 +24,7 @@
+ 
+ #include "ffmpeg_in.h"
+ #include <gpac/avparse.h>
++#include <libavutil/avutil.h>
+ 
+ static AVCodec *ffmpeg_get_codec(u32 codec_4cc)
+ {
+@@ -111,7 +112,7 @@
+ 		bs = gf_bs_new(esd->decoderConfig->decoderSpecificInfo->data, esd->decoderConfig->decoderSpecificInfo->dataLength, GF_BITSTREAM_READ);
+ 		codec_id = gf_bs_read_u32(bs);
+ 		if (ffd->st==GF_STREAM_AUDIO) {
+-			ffd->ctx->codec_type = CODEC_TYPE_AUDIO;
++			ffd->ctx->codec_type = AVMEDIA_TYPE_AUDIO;
+ 			ffd->ctx->sample_rate = gf_bs_read_u32(bs);
+ 			ffd->ctx->channels = gf_bs_read_u16(bs);
+ 			ffd->ctx->frame_size = gf_bs_read_u16(bs);
+@@ -121,7 +122,7 @@
+ 			/*ffmpeg specific*/
+ 			ffd->ctx->block_align = gf_bs_read_u16(bs);
+ 		} else if (ffd->st==GF_STREAM_VISUAL) {
+-			ffd->ctx->codec_type = CODEC_TYPE_VIDEO;
++			ffd->ctx->codec_type = AVMEDIA_TYPE_VIDEO;
+ 			ffd->ctx->width = gf_bs_read_u16(bs);
+ 			ffd->ctx->height = gf_bs_read_u16(bs);
+ 		}
+@@ -138,7 +139,7 @@
+ 		bs = gf_bs_new(esd->decoderConfig->decoderSpecificInfo->data, esd->decoderConfig->decoderSpecificInfo->dataLength, GF_BITSTREAM_READ);
+ 		codec_id = gf_bs_read_u32(bs);
+ 		if (ffd->st==GF_STREAM_AUDIO) {
+-			ffd->ctx->codec_type = CODEC_TYPE_AUDIO;
++			ffd->ctx->codec_type = AVMEDIA_TYPE_AUDIO;
+ 			ffd->ctx->sample_rate = gf_bs_read_u32(bs);
+ 			ffd->ctx->channels = gf_bs_read_u16(bs);
+ 			ffd->ctx->frame_size = gf_bs_read_u16(bs);
+@@ -151,7 +152,7 @@
+ 			  ffd->ctx->frame_size = 160;
+ 			}
+ 		} else if (ffd->st==GF_STREAM_VISUAL) {
+-			ffd->ctx->codec_type = CODEC_TYPE_VIDEO;
++			ffd->ctx->codec_type = AVMEDIA_TYPE_VIDEO;
+ 			ffd->ctx->width = gf_bs_read_u16(bs);
+ 			ffd->ctx->height = gf_bs_read_u16(bs);
+ 		}
+@@ -163,7 +164,7 @@
+ 	else {
+ 		u32 codec_id = 0;
+ 		if (ffd->st==GF_STREAM_VISUAL) {
+-			ffd->ctx->codec_type = CODEC_TYPE_VIDEO;
++			ffd->ctx->codec_type = AVMEDIA_TYPE_VIDEO;
+ 			switch (ffd->oti) {
+ 			case 0x20:
+ 				codec_id = CODEC_ID_MPEG4;
+@@ -190,7 +191,7 @@
+ 				break;
+ 			}
+ 		} else if (ffd->st==GF_STREAM_AUDIO) {
+-			ffd->ctx->codec_type = CODEC_TYPE_AUDIO;
++			ffd->ctx->codec_type = AVMEDIA_TYPE_AUDIO;
+ 			switch (ffd->oti) {
+ 			case 0x69:
+ 			case 0x6B:
+@@ -412,20 +413,20 @@
+ 
+ 	/*WARNING: this breaks H264 (and maybe others) decoding, disabled for now*/
+ #if 1
+-	if (!ffd->ctx->hurry_up) {
++	if (ffd->ctx->skip_frame < AVDISCARD_NONREF) {
+ 		switch (mmlevel) {
+ 		case GF_CODEC_LEVEL_SEEK:
+ 		case GF_CODEC_LEVEL_DROP:
+ 			/*skip as much as possible*/
+-			ffd->ctx->hurry_up = 5;
++			ffd->ctx->skip_frame = AVDISCARD_NONKEY;
+ 			break;
+ 		case GF_CODEC_LEVEL_VERY_LATE:
+ 		case GF_CODEC_LEVEL_LATE:
+ 			/*skip B-frames*/
+-			ffd->ctx->hurry_up = 1;
++			ffd->ctx->skip_frame = AVDISCARD_NONREF;
+ 			break;
+ 		default:
+-			ffd->ctx->hurry_up = 0;
++			ffd->ctx->skip_frame = AVDISCARD_DEFAULT;
+ 			break;
+ 		}
+ 	}
+@@ -451,7 +452,7 @@
+ 		if (len<0) { ffd->frame_start = 0; return GF_NON_COMPLIANT_BITSTREAM; }
+ 		if (gotpic<0) { ffd->frame_start = 0; return GF_OK; }
+ 
+-		ffd->ctx->hurry_up = 0;
++		ffd->ctx->skip_frame = AVDISCARD_DEFAULT;
+ 
+ 		if (ffd->ctx->frame_size < gotpic) ffd->ctx->frame_size = gotpic;
+ 
+@@ -552,7 +553,7 @@
+ 				}
+ 			}
+ 		}
+-		ffd->ctx->hurry_up = 0;
++		ffd->ctx->skip_frame = AVDISCARD_DEFAULT;
+ 		/*recompute outsize in case on-the-fly change*/
+ 		if ((w != ffd->ctx->width) || (h != ffd->ctx->height)) {
+ 			outsize = ffd->ctx->width * ffd->ctx->height * 3;
+--- gpac/modules/ffmpeg_in/ffmpeg_demux.c.orig	2008-11-28 18:21:48.000000000 +0100
++++ gpac/modules/ffmpeg_in/ffmpeg_demux.c	2011-06-27 21:20:51.252222149 +0200
+@@ -31,6 +31,7 @@
+ #if !defined(WIN32) && !defined(_WIN32_WCE) && !defined(__SYMBIAN32__)
+ #include <errno.h>
+ #endif
++#include <libavutil/avutil.h>
+ 
+ static u32 FFDemux_Run(void *par)
+ {
+@@ -233,10 +234,10 @@
+     for(i = 0; i < ctx->nb_streams; i++) {
+         AVCodecContext *enc = ctx->streams[i]->codec;
+         switch(enc->codec_type) {
+-        case CODEC_TYPE_AUDIO:
++        case AVMEDIA_TYPE_AUDIO:
+             if (!has_audio) has_audio = 1;
+             break;
+-        case CODEC_TYPE_VIDEO:
++        case AVMEDIA_TYPE_VIDEO:
+             if (!has_video) has_video= 1;
+             break;
+         default:
+@@ -531,10 +532,10 @@
+ 
+ 	switch (i) {
+ 	case 0: e = GF_OK; break;
+-	case AVERROR_IO: e = GF_URL_ERROR; goto err_exit;
++	case AVERROR(EIO): e = GF_URL_ERROR; goto err_exit;
+ 	case AVERROR_INVALIDDATA: e = GF_NON_COMPLIANT_BITSTREAM; goto err_exit;
+-	case AVERROR_NOMEM: e = GF_OUT_OF_MEM; goto err_exit;
+-	case AVERROR_NOFMT: e = GF_NOT_SUPPORTED; goto err_exit;
++	case AVERROR(ENOMEM): e = GF_OUT_OF_MEM; goto err_exit;
++	case AVERROR(EILSEQ): e = GF_NOT_SUPPORTED; goto err_exit;
+ 	default: e = GF_SERVICE_ERROR; goto err_exit;
+ 	}
+ 
+@@ -552,13 +553,13 @@
+     for (i = 0; i < ffd->ctx->nb_streams; i++) {
+         AVCodecContext *enc = ffd->ctx->streams[i]->codec;
+         switch(enc->codec_type) {
+-        case CODEC_TYPE_AUDIO:
++        case AVMEDIA_TYPE_AUDIO:
+             if ((ffd->audio_st<0) && (ffd->service_type!=1)) {
+ 				ffd->audio_st = i;
+ 				ffd->audio_tscale = ffd->ctx->streams[i]->time_base;
+ 			}
+             break;
+-        case CODEC_TYPE_VIDEO:
++        case AVMEDIA_TYPE_VIDEO:
+             if ((ffd->video_st<0) && (ffd->service_type!=2)) {
+ 				ffd->video_st = i;
+ 				ffd->video_tscale = ffd->ctx->streams[i]->time_base;
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/gpac/gpac.spec?r1=1.33&r2=1.34&f=u



More information about the pld-cvs-commit mailing list