[MPlayer-dev-eng] [PATCH v2 0/8] Adjustments for current FFmpeg git including major bumps

Mike Lieman mikelieman at gmail.com
Tue Apr 9 02:53:37 EEST 2024


Hey, I have the jack-audio-connection-kit libraries, which configure picks
up and builds which have the same issues.   I applied the changes to
libao2/ao_jack.c    (revision 38458) and it now compiles.

$ svn diff
Index: libao2/ao_jack.c
===================================================================
--- libao2/ao_jack.c    (revision 38458)
+++ libao2/ao_jack.c    (working copy)
@@ -71,7 +71,7 @@
 #define BUFFSIZE (NUM_CHUNKS * CHUNK_SIZE)

 //! buffer for audio data
-static AVFifoBuffer *buffer;
+static AVFifo *buffer;

 /**
  * \brief insert len bytes into buffer
@@ -82,9 +82,11 @@
  * If there is not enough room, the buffer is filled up
  */
 static int write_buffer(unsigned char* data, int len) {
-  int free = av_fifo_space(buffer);
+  int free = av_fifo_can_write(buffer);
   if (len > free) len = free;
-  return av_fifo_generic_write(buffer, data, len, NULL);
+//  return av_fifo_generic_write(buffer, data, len, NULL);
+  av_fifo_write(buffer, data, len);
+  return len;
 }

 static void silence(float **bufs, int cnt, int num_bufs);
@@ -125,7 +127,7 @@
  */
 static int read_buffer(float **bufs, int cnt, int num_bufs) {
   struct deinterleave di = {bufs, num_bufs, 0, 0};
-  int buffered = av_fifo_size(buffer);
+  int buffered = av_fifo_can_read(buffer);
   if (cnt * sizeof(float) * num_bufs > buffered) {
     silence(bufs, cnt, num_bufs);
     cnt = buffered / sizeof(float) / num_bufs;
@@ -242,7 +244,7 @@
     mp_msg(MSGT_AO, MSGL_FATAL, "[JACK] cannot open server\n");
     goto err_out;
   }
-  buffer = av_fifo_alloc(BUFFSIZE);
+  buffer = av_fifo_alloc2(BUFFSIZE, 1, 0);
   jack_set_process_callback(client, outputaudio, 0);

   // list matching ports if connections should be made
@@ -302,7 +304,7 @@
   free(client_name);
   if (client)
     jack_client_close(client);
-  av_fifo_free(buffer);
+  av_fifo_freep2(buffer);
   buffer = NULL;
   return 0;
 }
@@ -315,7 +317,7 @@
   reset();
   usec_sleep(100 * 1000);
   jack_client_close(client);
-  av_fifo_free(buffer);
+  av_fifo_freep2(buffer);
   buffer = NULL;
 }

@@ -324,7 +326,7 @@
  */
 static void reset(void) {
   paused = 1;
-  av_fifo_reset(buffer);
+  av_fifo_reset2(buffer);
   paused = 0;
 }

@@ -343,7 +345,7 @@
 }

 static int get_space(void) {
-  return av_fifo_space(buffer);
+  return av_fifo_can_write(buffer);
 }

 /**
@@ -357,7 +359,7 @@
 }

 static float get_delay(void) {
-  int buffered = av_fifo_size(buffer); // could be less
+  int buffered = av_fifo_can_read(buffer); // could be less
   float in_jack = jack_latency;
   if (estimate && callback_interval > 0) {
     float elapsed = (float)GetTimer() / 1000000.0 - callback_time;




On Mon, Apr 8, 2024 at 7:07 PM Alexander Strasser <eclipse7 at gmx.net> wrote:

> Committed as SVN r38450 to r38457.
>
> Committed v2 of the patch set with the minor change that I used patch
> 7/8 from v1 of the patch set. As Ingo mentioned Reimar already fixed
> the problem with the ffmpeg dvdvideo demuxer in r38449.
>
>
> On 2024-04-07 23:58 +0200, Ingo Brückl wrote:
> > On Sun, 7 Apr 2024 17:11:14 +0200, Alexander Strasser wrote:
> >
> > > At Ingo:
> > > Could you test the files you had problems with again with this newer
> > > version of the patches and probably also with Ivan's patch on top?
> >
> > Your patches together with Ivan's patch now fix all the problems I was
> > having before.
> >
> > Thanks to both of you for your work.
>
> Thank you so much for testing, Ingo!
>
>
> Greetings,
>   Alexander
> _______________________________________________
> MPlayer-dev-eng mailing list
> MPlayer-dev-eng at mplayerhq.hu
> https://lists.mplayerhq.hu/mailman/listinfo/mplayer-dev-eng
>


More information about the MPlayer-dev-eng mailing list