tags 552829 + patch pending
thanks

Dear maintainer,

I've prepared an NMU for mpc123 (versioned as 0.2.4-1.1) and plan to
upload it to DELAYED/N, where N depends on the opinion of the sponsor
I hope to find.  Please feel free to tell me if I should delay it
longer.
diff -u mpc123-0.2.4/debian/changelog mpc123-0.2.4/debian/changelog
--- mpc123-0.2.4/debian/changelog
+++ mpc123-0.2.4/debian/changelog
@@ -1,3 +1,12 @@
+mpc123 (0.2.4-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Apply upstream commit c7cdcc0; port to libmpcdec6 API (Closes:
+    #552829).
+  * debian/control (Build-Depends): Require libmpcdec-dev >= 2:0.1~r435.
+
+ -- Yavor Doganov <ya...@gnu.org>  Wed, 24 Feb 2010 19:04:16 +0200
+
 mpc123 (0.2.4-1) unstable; urgency=low
 
   * New upstream release (Closes: #459317)
diff -u mpc123-0.2.4/debian/control mpc123-0.2.4/debian/control
--- mpc123-0.2.4/debian/control
+++ mpc123-0.2.4/debian/control
@@ -2,7 +2,7 @@
 Section: sound
 Priority: optional
 Maintainer: Daniele Sempione <scr...@oziosi.org>
-Build-Depends: debhelper (>= 4.0.0), libmpcdec-dev, libao-dev, gettext
+Build-Depends: debhelper (>= 4.0.0), libmpcdec-dev (>= 2:0.1~r435), libao-dev, gettext
 Standards-Version: 3.7.3
 
 Package: mpc123
only in patch2:
unchanged:
--- mpc123-0.2.4.orig/ao.c
+++ mpc123-0.2.4/ao.c
@@ -144,9 +144,9 @@
     data->ao_dev=ao_open_live(ao_drvnum, &ao_fmt, opt_head);
   }else{
     /* output to file (act as a decoder) */
-    data->ao_dev=ao_open_file(ao_drvnum, options.foutput, TRUE, &ao_fmt, NULL);
+    data->ao_dev=ao_open_file(ao_drvnum, options.foutput, MPC_TRUE, &ao_fmt, NULL);
   }
-  
+
   if( !data->ao_dev ){
     dief(_("Could not open audio output: [%d] %s\n"), errno, strerror(errno));
   }
@@ -175,6 +175,9 @@
   unsigned char * output;
   unsigned bytes=samples * 2;   /* 16 bit == 2 bytes */
 
+  if(!bytes)
+    return 0;
+
   const unsigned pSize = 16;
   const int clip_min    = -1 << (pSize - 1);
   const int clip_max    = (1 << (pSize - 1)) - 1;
@@ -192,7 +195,8 @@
   }
 
   if(!output){
-    dief(_("Out of memory (needed 0x%08x bytes)\n"), bytes);
+    sayf(0, "Out of memory (needed 0x%08x bytes)\n", bytes);
+    return 0;
   }
 
   /* code stolen from xmms-musepack */
only in patch2:
unchanged:
--- mpc123-0.2.4.orig/mpc123.h
+++ mpc123-0.2.4/mpc123.h
@@ -29,8 +29,9 @@
 
 # include <libintl.h>
 
-#  include <mpcdec/config_types.h>
-#  include <mpcdec/mpcdec.h>
+#  include <mpc/mpcdec.h>
+#  include <mpc/streaminfo.h>
+#  include <mpc/mpc_types.h>
 
 #  ifndef LOCALEDIR
 #    define LOCALEDIR "/usr/share/locale" /* this is the Debian default */
@@ -44,7 +45,7 @@
  */
 #  define VERS_MAJOR	0
 #  define VERS_MINOR	2
-#  define VERS_REV	4
+#  define VERS_REV	5
 
 #  define COPYRIGHT_NOTICE VERS_NAME " Copyright " COPYRIGHT "\n" \
 	"This is free software, meaning it comes under the terms of the\n" \
only in patch2:
unchanged:
--- mpc123-0.2.4.orig/player.c
+++ mpc123-0.2.4/player.c
@@ -31,9 +31,9 @@
  */
 int do_play_stream(mpc_reader * the_reader, reader_data * data){
   mpc_streaminfo tmp_stream_info;
-  mpc_decoder mpc123_decoder;
-  mpc_int32_t mpc_ret;
-  mpc_uint32_t vbrAcc=0, vbrUpd=0;
+  mpc_demux *mpc123_decoder = NULL;
+  mpc_frame_info frame;
+  mpc_status err;
   int played=0;
 
   void * ao_data=NULL;
@@ -44,19 +44,12 @@
   unsigned bytes_from_decoder=0;
 
   /* read file's streaminfo data */
-  mpc_streaminfo_init(&tmp_stream_info);
-  if( (mpc_ret=mpc_streaminfo_read(&tmp_stream_info, the_reader))
-      != ERROR_CODE_OK){
-    debugf("mpc_streaminfo_read()=%d", mpc_ret);
+  mpc123_decoder = mpc_demux_init(the_reader);
+  if( !mpc123_decoder ){
     die("Not a valid musepack file\n");
   }
 
-  /* initialize decoder with the appropriate file reader */
-  mpc_decoder_setup(&mpc123_decoder, the_reader);
-  if( !(mpc_ret=mpc_decoder_initialize(&mpc123_decoder, &tmp_stream_info)) ){
-    debugf("mpc_decoder_initialize()=%d", mpc_ret);
-    die("Error initializing decoder\n");
-  }
+  mpc_demux_get_info(mpc123_decoder, &tmp_stream_info);
 
   if( mpc123_ao_init(&ao_data, &tmp_stream_info) != 0 ){
     dief("Could not initialize audio library: error %d\n", errno);
@@ -64,21 +57,21 @@
 
   /* decoding loop */
   while(1){
-    decoded_samples=mpc_decoder_decode(&mpc123_decoder, buffer,
-                                       &vbrAcc, &vbrUpd);
+    frame.buffer = buffer;
+    err = mpc_demux_decode(mpc123_decoder, &frame);
 
-    if( !decoded_samples ){      /* eof */
+    if( err != MPC_STATUS_OK ){      /* eof */
       debugf("End of file after %d samples", total_decoded);
       break;
     }
 
-    if( decoded_samples == -1 ){ /* decoding error */
+    if( err == -1 ){ /* decoding error */
       debug("Error decoding stream.");
       say(0, "Error while decoding -- maybe corrupted data?\n");
       break;
     }
 
-/*    debug(" <%d %d %d>", vbrAcc, vbrUpd, vbrUpd * 44100 / 1152 / 100);*/
+    decoded_samples = frame.samples;
     total_decoded += decoded_samples;
     bytes_from_decoder = decoded_samples * sizeof(float) * 2;
 
only in patch2:
unchanged:
--- mpc123-0.2.4.orig/reader_file.c
+++ mpc123-0.2.4/reader_file.c
@@ -22,30 +22,27 @@
 
 #include "mpc123.h"
 
-#include <mpcdec/config_types.h>
-#include <mpcdec/mpcdec.h>
-
 /* read wrapper */
-static mpc_int32_t mpc123_file_read(void *t, void *ptr, mpc_int32_t size){
-  reader_data *data=(reader_data*) t;
+static mpc_int32_t mpc123_file_read(mpc_reader *t, void *ptr, mpc_int32_t size){
+  reader_data *data=(reader_data*) t->data;
   return read(data->fd, ptr, size);
 }
 
 /* seek wrapper */
-static mpc_bool_t mpc123_file_seek(void *t, mpc_int32_t offset){
-  reader_data *data=(reader_data*) t;
+static mpc_bool_t mpc123_file_seek(mpc_reader *t, mpc_int32_t offset){
+  reader_data *data=(reader_data*) t->data;
   lseek(data->fd, offset, SEEK_SET);
-  return TRUE;
+  return MPC_TRUE;
 }
 
-static mpc_int32_t mpc123_file_tell(void *t){
-  reader_data *data=(reader_data*) t;
+static mpc_int32_t mpc123_file_tell(mpc_reader *t){
+  reader_data *data=(reader_data*) t->data;
   return lseek(data->fd, 0, SEEK_CUR);
 }
 
 /* get filesize */
-static mpc_int32_t mpc123_file_get_size(void *t){
-  reader_data *data=(reader_data*) t;
+static mpc_int32_t mpc123_file_get_size(mpc_reader *t){
+  reader_data *data=(reader_data*) t->data;
   off_t old_offset=lseek(data->fd, 0, SEEK_CUR);	/* save old pos */
   mpc_int32_t toret=lseek(data->fd, 0, SEEK_END);
 
@@ -56,8 +53,8 @@
 }
 
 /* on an empty disk, you can seek() forever */
-static mpc_bool_t mpc123_file_canseek(void *t){
-  return TRUE;
+static mpc_bool_t mpc123_file_canseek(mpc_reader *t){
+  return MPC_TRUE;
 }
 
 /*
@@ -65,12 +62,12 @@
  * handles plain files
  */
 mpc_reader mpc123_file_reader={
-  .read=mpc123_file_read,
-  .seek=mpc123_file_seek,
-  .tell=mpc123_file_tell,
-  .get_size=mpc123_file_get_size,
-  .canseek=mpc123_file_canseek,
-  .data=NULL		/* reader_data * data */
+  .read = mpc123_file_read,
+  .seek = mpc123_file_seek,
+  .tell = mpc123_file_tell,
+  .get_size = mpc123_file_get_size,
+  .canseek = mpc123_file_canseek,
+  .data = NULL		/* reader_data * data */
 };
 
 /* vim:ft=c:tw=78:ts=2:et:cin:

Reply via email to