Hello community,

here is the log from the commit of package xine-lib for openSUSE:Factory
checked in at Wed Jul 13 13:26:24 CEST 2011.



--------
--- xine-lib/xine-lib.changes   2010-11-18 11:05:11.000000000 +0100
+++ /mounts/work_src_done/STABLE/xine-lib/xine-lib.changes      2011-07-07 
10:52:49.000000000 +0200
@@ -1,0 +2,10 @@
+Thu Jul  7 08:49:59 UTC 2011 - idon...@novell.com
+
+- Add xine-lib-v4l-2.6.38.patch: use the new v4l interface 
+
+-------------------------------------------------------------------
+Sat May 28 17:09:00 CET 2011 - manfred.trem...@iiv.de
+
+- included a patch to build against new ffmpeg abi
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


New:
----
  xine-lib-1.1.19-ffmpeg_abi_change.diff
  xine-lib-v4l-2.6.38.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ xine-lib.spec ++++++
--- /var/tmp/diff_new_pack.HzX4yG/_old  2011-07-13 13:12:16.000000000 +0200
+++ /var/tmp/diff_new_pack.HzX4yG/_new  2011-07-13 13:12:16.000000000 +0200
@@ -1,7 +1,7 @@
 #
-# spec file for package xine-lib (Version 1.1.19)
+# spec file for package xine-lib
 #
-# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -54,9 +54,13 @@
 BuildRequires:  Mesa-devel libsmbclient-devel libtheora-devel libvorbis-devel
 BuildRequires:  readline-devel update-desktop-files vcdimager-devel
 BuildRequires:  speex-devel
+%if 0%{suse_version} >= 1210
+BuildRequires:  libv4l-devel >= 0.8.4
+%else
 %if 0%{suse_version} >= 1110
 BuildRequires:  libv4l-devel
 %endif
+%endif
 %if 0%{suse_version} >= 1030
 BuildRequires:  lirc-devel
 %else
@@ -101,7 +105,7 @@
 BuildRequires:  libmodplug-devel
 %endif
 Version:        1.1.19
-Release:        2
+Release:        7
 # bug437293
 %ifarch ppc64
 Obsoletes:      xine-lib-64bit
@@ -136,8 +140,10 @@
 Patch72:        xine-lib-%{version}-install-plugins-helper.diff
 Patch73:        xine-lib-%{version}-assert.patch
 Patch74:        xine-configure.diff
+Patch75:        xine-lib-v4l-2.6.38.patch
 # *** Only working for noncrippled source
 Patch80:        xine-lib-various-noncrippled.diff
+Patch81:        xine-lib-%{version}-ffmpeg_abi_change.diff
 
 %description
 xine is a free multimedia player. It plays back CDs, DVDs, and VCDs. It
@@ -656,10 +662,15 @@
 %else
 # Only apply to uncrippled source
 %patch80
+%patch81 -p1
 %endif
 %patch72 -p1
 %patch73 -p1
 %patch74 -p1
+%if 0%{suse_version} >= 1210
+%patch75
+%endif
+
 rm -f m4/libtool15.m4
 
 %build

++++++ xine-lib-1.1.19-ffmpeg_abi_change.diff ++++++
diff -ur xine-lib-1.1.19.orig/src/combined/ffmpeg/ff_audio_decoder.c 
xine-lib-1.1.19/src/combined/ffmpeg/ff_audio_decoder.c
--- xine-lib-1.1.19.orig/src/combined/ffmpeg/ff_audio_decoder.c 2010-03-23 
16:41:49.000000000 +0100
+++ xine-lib-1.1.19/src/combined/ffmpeg/ff_audio_decoder.c      2011-05-17 
20:23:15.000000000 +0200
@@ -46,6 +46,12 @@
 
 #define AUDIOBUFSIZE (64 * 1024)
 
+#if LIBAVCODEC_VERSION_MAJOR >= 53 || (LIBAVCODEC_VERSION_MAJOR == 52 && 
LIBAVCODEC_VERSION_MINOR >= 32)
+#  define AVAUDIO 3
+#else
+#  define AVAUDIO 2
+#endif
+
 typedef struct {
   audio_decoder_class_t   decoder_class;
 } ff_audio_class_t;
@@ -255,6 +261,9 @@
       buf->decoder_info[2]);
 
   } else if (!(buf->decoder_flags & BUF_FLAG_SPECIAL)) {
+#if AVAUDIO > 2
+    AVPacket avpkt;
+#endif
 
     if( !this->decoder_ok ) {
       if ( ! this->context || ! this->codec ) {
@@ -286,11 +295,21 @@
     if (!this->output_open) {
       if (!this->audio_bits || !this->audio_sample_rate || 
!this->audio_channels) {
         decode_buffer_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
+#if AVAUDIO > 2
+       av_init_packet (&avpkt);
+       avpkt.data = (uint8_t *)&this->buf[0];
+       avpkt.size = this->size;
+       avpkt.flags = AV_PKT_FLAG_KEY;
+       avcodec_decode_audio3 (this->context,
+                              (int16_t *)this->decode_buffer,
+                              &decode_buffer_size, &avpkt);
+#else
         avcodec_decode_audio2 (this->context,
                               (int16_t *)this->decode_buffer,
                               &decode_buffer_size,
                               &this->buf[0],
                               this->size);
+#endif
        this->audio_bits = this->context->bits_per_sample;
        this->audio_sample_rate = this->context->sample_rate;
        this->audio_channels = this->context->channels;
@@ -311,12 +330,21 @@
       offset = 0;
       while (this->size>0) {
         decode_buffer_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
+#if AVAUDIO > 2
+       av_init_packet (&avpkt);
+       avpkt.data = (uint8_t *)&this->buf[offset];
+       avpkt.size = this->size;
+       avpkt.flags = AV_PKT_FLAG_KEY;
+       bytes_consumed = avcodec_decode_audio3 (this->context,
+                                               (int16_t *)this->decode_buffer,
+                                               &decode_buffer_size, &avpkt);
+#else
         bytes_consumed = avcodec_decode_audio2 (this->context,
                                                (int16_t *)this->decode_buffer,
                                                &decode_buffer_size,
                                                &this->buf[offset],
                                                this->size);
-
+#endif
         if (bytes_consumed<0) {
           xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG,
                    "ffmpeg_audio_dec: error decompressing audio frame\n");
diff -ur xine-lib-1.1.19.orig/src/combined/ffmpeg/ff_video_decoder.c 
xine-lib-1.1.19/src/combined/ffmpeg/ff_video_decoder.c
--- xine-lib-1.1.19.orig/src/combined/ffmpeg/ff_video_decoder.c 2010-03-10 
20:07:15.000000000 +0100
+++ xine-lib-1.1.19/src/combined/ffmpeg/ff_video_decoder.c      2011-05-17 
20:23:15.000000000 +0200
@@ -58,6 +58,14 @@
 
 #define ENABLE_DIRECT_RENDERING
 
+#if LIBAVCODEC_VERSION_MAJOR >= 53 || (LIBAVCODEC_VERSION_MAJOR == 52 && 
LIBAVCODEC_VERSION_MINOR >= 32)
+#  define AVVIDEO 2
+#else
+#  define AVVIDEO 1
+#  define pp_context   pp_context_t
+#  define pp_mode      pp_mode_t
+#endif
+
 /* reordered_opaque appeared in libavcodec 51.68.0 */
 #define AVCODEC_HAS_REORDERED_OPAQUE
 #if LIBAVCODEC_VERSION_INT < 0x334400
@@ -116,8 +124,8 @@
 
   int               pp_quality;
   int               pp_flags;
-  pp_context_t     *pp_context;
-  pp_mode_t        *pp_mode;
+  pp_context       *our_context;
+  pp_mode          *our_mode;
 
   /* mpeg-es parsing */
   mpeg_parser_t    *mpeg_parser;
@@ -444,23 +452,23 @@
   this->pp_quality = this->class->pp_quality;
 
   if(this->pp_available && this->pp_quality) {
-    if(!this->pp_context && this->context)
-      this->pp_context = pp_get_context(this->context->width, 
this->context->height,
+    if(!this->our_context && this->context)
+      this->our_context = pp_get_context(this->context->width, 
this->context->height,
                                         this->pp_flags);
-    if(this->pp_mode)
-      pp_free_mode(this->pp_mode);
+    if(this->our_mode)
+      pp_free_mode(this->our_mode);
 
-    this->pp_mode = pp_get_mode_by_name_and_quality("hb:a,vb:a,dr:a",
+    this->our_mode = pp_get_mode_by_name_and_quality("hb:a,vb:a,dr:a",
                                                     this->pp_quality);
   } else {
-    if(this->pp_mode) {
-      pp_free_mode(this->pp_mode);
-      this->pp_mode = NULL;
+    if(this->our_mode) {
+      pp_free_mode(this->our_mode);
+      this->our_mode = NULL;
     }
 
-    if(this->pp_context) {
-      pp_free_context(this->pp_context);
-      this->pp_context = NULL;
+    if(this->our_context) {
+      pp_free_context(this->our_context);
+      this->our_context = NULL;
     }
   }
 }
@@ -1055,12 +1063,26 @@
     }
 
     /* skip decoding b frames if too late */
+#if AVVIDEO > 1
+    this->context->skip_frame = (this->skipframes > 0) ? AVDISCARD_NONREF : 
AVDISCARD_DEFAULT;
+#else
     this->context->hurry_up = (this->skipframes > 0);
+#endif
 
     lprintf("avcodec_decode_video: size=%d\n", this->mpeg_parser->buffer_size);
+#if AVVIDEO > 1
+    AVPacket avpkt;
+    av_init_packet(&avpkt);
+    avpkt.data = (uint8_t *)this->mpeg_parser->chunk_buffer;
+    avpkt.size = this->mpeg_parser->buffer_size;
+    avpkt.flags = AV_PKT_FLAG_KEY;
+    len = avcodec_decode_video2 (this->context, this->av_frame,
+                                &got_picture, &avpkt);
+#else
     len = avcodec_decode_video (this->context, this->av_frame,
                                 &got_picture, this->mpeg_parser->chunk_buffer,
                                 this->mpeg_parser->buffer_size);
+#endif
     lprintf("avcodec_decode_video: decoded_size=%d, got_picture=%d\n",
             len, got_picture);
     len = current - buf->content - offset;
@@ -1112,7 +1134,13 @@
 
     } else {
 
-      if (this->context->hurry_up) {
+      if (
+#if AVVIDEO > 1
+         this->context->skip_frame != AVDISCARD_DEFAULT
+#else
+         this->context->hurry_up
+#endif
+        ) {
         /* skipped frame, output a bad frame */
         img = this->stream->video_out->get_frame (this->stream->video_out,
                                                   this->bih.biWidth,
@@ -1304,13 +1332,25 @@
         got_picture = 0;
       } else {
         /* skip decoding b frames if too late */
+#if AVVIDEO > 1
+       this->context->skip_frame = (this->skipframes > 0) ? AVDISCARD_NONREF : 
AVDISCARD_DEFAULT;
+#else
         this->context->hurry_up = (this->skipframes > 0);
-
+#endif
         lprintf("buffer size: %d\n", this->size);
+#if AVVIDEO > 1
+       AVPacket avpkt;
+       av_init_packet(&avpkt);
+       avpkt.data = (uint8_t *)&chunk_buf[offset];
+       avpkt.size = this->size;
+       avpkt.flags = AV_PKT_FLAG_KEY;
+       len = avcodec_decode_video2 (this->context, this->av_frame,
+                                    &got_picture, &avpkt);
+#else
         len = avcodec_decode_video (this->context, this->av_frame,
                                     &got_picture, &chunk_buf[offset],
                                     this->size);
-
+#endif
 #ifdef AVCODEC_HAS_REORDERED_OPAQUE
         /* reset consumed pts value */
         this->context->reordered_opaque = ff_tag_pts(this, 0);
@@ -1432,7 +1472,7 @@
                         img->base, img->pitches,
                         img->width, img->height,
                         this->av_frame->qscale_table, this->av_frame->qstride,
-                        this->pp_mode, this->pp_context,
+                        this->our_mode, this->our_context,
                         this->av_frame->pict_type);
 
         } else if (!this->av_frame->opaque) {
@@ -1676,11 +1716,11 @@
     free(this->buf);
   this->buf = NULL;
 
-  if(this->pp_context)
-    pp_free_context(this->pp_context);
+  if(this->our_context)
+    pp_free_context(this->our_context);
 
-  if(this->pp_mode)
-    pp_free_mode(this->pp_mode);
+  if(this->our_mode)
+    pp_free_mode(this->our_mode);
 
   mpeg_parser_dispose(this->mpeg_parser);
 
@@ -1721,8 +1761,8 @@
   this->aspect_ratio      = 0;
 
   this->pp_quality        = 0;
-  this->pp_context        = NULL;
-  this->pp_mode           = NULL;
+  this->our_context       = NULL;
+  this->our_mode          = NULL;
 
   this->mpeg_parser       = NULL;
 
++++++ xine-lib-v4l-2.6.38.patch ++++++
--- configure.ac.orig   2011-07-07 10:45:26.462089794 +0200
+++ configure.ac        2011-07-07 10:46:04.415089790 +0200
@@ -682,7 +682,7 @@
 have_v4l=no
 have_v4l2=no
 if test "x$enable_v4l" != "xno"; then
-  AC_CHECK_HEADERS([linux/videodev.h], [have_v4l=yes], [])
+  AC_CHECK_HEADERS([libv4l1-videodev.h], [have_v4l=yes], [])
   AC_CHECK_HEADERS([linux/videodev2.h sys/videoio.h sys/videodev2.h], 
[have_v4l2=yes], [])
   AC_CHECK_HEADERS([asm/types.h])
   if test "x$enable_v4l" = "xyes" && test "x$have_v4l$have_v4l2" = "xnono"; 
then
--- src/input/input_v4l.c       2010-03-09 23:17:05.000000000 +0100
+++ src/input/input_v4l.c       2011-07-07 10:46:27.694089788 +0200
@@ -47,7 +47,7 @@
 */
 #define _LINUX_TIME_H
 
-#include <linux/videodev.h>
+#include <libv4l1-videodev.h>
 #include <sys/ioctl.h>
 #include <sys/mman.h>
 #include <errno.h>

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to