]> git.ipfire.org Git - thirdparty/shairport-sync.git/commitdiff
Clang format
authorMike Brady <4265913+mikebrady@users.noreply.github.com>
Fri, 23 Sep 2022 16:05:26 +0000 (17:05 +0100)
committerMike Brady <4265913+mikebrady@users.noreply.github.com>
Fri, 23 Sep 2022 16:05:26 +0000 (17:05 +0100)
rtp.c

diff --git a/rtp.c b/rtp.c
index e01c87305108e0d12b436a3c8a9d2121d0f823d8..7b53df744a6fcbd544b5ff263de456f8207440ed 100644 (file)
--- a/rtp.c
+++ b/rtp.c
@@ -2588,48 +2588,66 @@ void *rtp_buffered_audio_processor(void *arg) {
                     not_first_time_out = 1;
                   }
                   */
-                    // clang-format on
+                  // clang-format on
+
+                  // debug(1,"block timestamp: %u, packet timestamp: %u.", timestamp,
+                  // pcm_buffer_read_point_rtptime);
+
+                  int32_t timestamp_difference =
+                      pcm_buffer_read_point_rtptime - expected_pcm_buffer_read_point_rtptime;
+                  ;
+                  if (packets_played_in_this_sequence != 0) {
+                    if (timestamp_difference != 0)
+                      debug(
+                          2,
+                          "Unexpected time difference between packets -- actual: %u, expected: %u, "
+                          "difference: %d. Packets played: %d. Blocks played since flush: %d. ",
+                          pcm_buffer_read_point_rtptime, expected_pcm_buffer_read_point_rtptime,
+                          timestamp_difference, packets_played_in_this_sequence,
+                          blocks_read_in_sequence);
+                  }
 
-                    // debug(1,"block timestamp: %u, packet timestamp: %u.", timestamp, pcm_buffer_read_point_rtptime);
+                  // Very specific code to get around an apparent bug in AirPlay 2 from iOS 16 /
+                  // Ventura 13.0 It seems that the timestamp goes backwards by 2112 frames not
+                  // later than the 65th packet of 352 frames (64 * 352 = 22528 frames which is
+                  // exactly 22 blocks) So, if that happens, we'll add 2112 to the timstamp passed
+                  // to the player
+
+                  if ((timestamp_difference == -2112) && (packets_played_in_this_sequence <= 64)) {
+                    debug(1,
+                          "iOS 16.0 discontinuity detected with %d packets played in this "
+                          "sequence. Nothing done.",
+                          packets_played_in_this_sequence);
+                    // pcm_buffer_read_point_rtptime_offset = 2112;  // this pretends the timestamps
+                    // after the discontinuity are 2112 frames later, but this just delays
+                    // everything by 2112 frames, pushing stuff out of sync, and i think you can
+                    // hear it.
+                  }
 
-                    int32_t timestamp_difference = pcm_buffer_read_point_rtptime - expected_pcm_buffer_read_point_rtptime;;
-                    if (packets_played_in_this_sequence != 0) {
-                      if (timestamp_difference != 0)
-                          debug(2,"Unexpected time difference between packets -- actual: %u, expected: %u, difference: %d. Packets played: %d. Blocks played since flush: %d. ",
-                            pcm_buffer_read_point_rtptime, expected_pcm_buffer_read_point_rtptime, timestamp_difference, packets_played_in_this_sequence, blocks_read_in_sequence);
-                    }
-                    
-                    
-                    // Very specific code to get around an apparent bug in AirPlay 2 from iOS 16 / Ventura 13.0
-                    // It seems that the timestamp goes backwards by 2112 frames not later than the 65th packet of 352 frames (64 * 352 = 22528 frames which is exactly 22 blocks)
-                    // So, if that happens, we'll add 2112 to the timstamp passed to the player
-                    
-                    if ((timestamp_difference == -2112) && (packets_played_in_this_sequence <= 64)) {
-                      debug(1,"iOS 16.0 discontinuity detected with %d packets played in this sequence. Nothing done.", packets_played_in_this_sequence);
-                      // pcm_buffer_read_point_rtptime_offset = 2112;  // this pretends the timestamps after the discontinuity are 2112 frames later, but this just delays everything by 2112 frames, pushing stuff out of sync, and i think you can hear it.
-                    }
-                    
-                    
-                    // if it's not the very first block of AAC, but is from the first few blocks of a new AAC sequence,
-                    // it will contain noisy transients, so replace it with silence.
-                    if ((blocks_read_in_sequence <= 2) && (blocks_read_in_sequence != blocks_read)) {
-                      // debug(1,"Muting packet %u from block %u to avoid AAC transients because it's not from a true starting block. Blocks_read is %" PRIu64 ". blocks_read_in_sequence is %" PRIu64 ".", pcm_buffer_read_point_rtptime, timestamp, blocks_read, blocks_read_in_sequence);
-                      conn->previous_random_number =
-                        generate_zero_frames((char *)(pcm_buffer + pcm_buffer_read_point), 352, config.output_format, conn->enable_dither,
-                                             conn->previous_random_number);
-                    }
-                  
-                    player_put_packet(0, 0, pcm_buffer_read_point_rtptime + pcm_buffer_read_point_rtptime_offset,
-                                      pcm_buffer + pcm_buffer_read_point, 352, conn);
-                    packets_played_in_this_sequence++;
-                    expected_pcm_buffer_read_point_rtptime = pcm_buffer_read_point_rtptime + 352;
+                  // if it's not the very first block of AAC, but is from the first few blocks of a
+                  // new AAC sequence, it will contain noisy transients, so replace it with silence.
+                  if ((blocks_read_in_sequence <= 2) && (blocks_read_in_sequence != blocks_read)) {
+                    // debug(1,"Muting packet %u from block %u to avoid AAC transients because it's
+                    // not from a true starting block. Blocks_read is %" PRIu64 ".
+                    // blocks_read_in_sequence is %" PRIu64 ".", pcm_buffer_read_point_rtptime,
+                    // timestamp, blocks_read, blocks_read_in_sequence);
+                    conn->previous_random_number = generate_zero_frames(
+                        (char *)(pcm_buffer + pcm_buffer_read_point), 352, config.output_format,
+                        conn->enable_dither, conn->previous_random_number);
                   }
+
+                  player_put_packet(
+                      0, 0, pcm_buffer_read_point_rtptime + pcm_buffer_read_point_rtptime_offset,
+                      pcm_buffer + pcm_buffer_read_point, 352, conn);
+                  packets_played_in_this_sequence++;
+                  expected_pcm_buffer_read_point_rtptime = pcm_buffer_read_point_rtptime + 352;
+                }
                 // }
               } else {
                 debug(3,
                       "Dropping packet %u from block %u with out-of-range lead_time: %.3f seconds.",
                       pcm_buffer_read_point_rtptime, seq_no, 0.000000001 * lead_time);
-                      expected_pcm_buffer_read_point_rtptime = pcm_buffer_read_point_rtptime + 352;
+                expected_pcm_buffer_read_point_rtptime = pcm_buffer_read_point_rtptime + 352;
               }
 
               pcm_buffer_read_point_rtptime += 352;
@@ -2642,13 +2660,16 @@ void *rtp_buffered_audio_processor(void *arg) {
             usleep(20000); // wait before asking if play is enabled again
           }
         } else {
-          // debug(1,"new buffer needed for buffer starting at %u because pcm_buffer_read_point (frames) is %u and pcm_buffer_occupancy (frames) is %u.", pcm_buffer_read_point_rtptime, pcm_buffer_read_point/conn->input_bytes_per_frame,
+          // debug(1,"new buffer needed for buffer starting at %u because pcm_buffer_read_point
+          // (frames) is %u and pcm_buffer_occupancy (frames) is %u.",
+          // pcm_buffer_read_point_rtptime, pcm_buffer_read_point/conn->input_bytes_per_frame,
           // pcm_buffer_occupancy/conn->input_bytes_per_frame);
           new_buffer_needed = 1;
           if (pcm_buffer_read_point != 0) {
             // debug(1,"pcm_buffer_read_point (frames): %u, pcm_buffer_occupancy (frames): %u",
-            //pcm_buffer_read_point/conn->input_bytes_per_frame,
-            //pcm_buffer_occupancy/conn->input_bytes_per_frame); // if there is anything to move down
+            // pcm_buffer_read_point/conn->input_bytes_per_frame,
+            // pcm_buffer_occupancy/conn->input_bytes_per_frame); // if there is anything to move
+            // down
             // to the front of the buffer, do it now;
             if ((pcm_buffer_occupancy - pcm_buffer_read_point) > 0) {
               // move the remaining frames down to the start of the buffer
@@ -2668,9 +2689,9 @@ void *rtp_buffered_audio_processor(void *arg) {
     if ((flush_requested) || (new_buffer_needed)) {
 
       // debug(1,"pcm_buffer_read_point (frames): %u, pcm_buffer_occupancy (frames): %u",
-      // pcm_buffer_read_point/conn->input_bytes_per_frame, pcm_buffer_occupancy/conn->input_bytes_per_frame);
-      // ok, so here we know we need material from the sender
-      // do we will get in a packet of audio
+      // pcm_buffer_read_point/conn->input_bytes_per_frame,
+      // pcm_buffer_occupancy/conn->input_bytes_per_frame); ok, so here we know we need material
+      // from the sender do we will get in a packet of audio
       uint16_t data_len;
       // here we read from the buffer that our thread has been reading
       size_t bytes_remaining_in_buffer;
@@ -2714,13 +2735,17 @@ void *rtp_buffered_audio_processor(void *arg) {
         previous_seq_no++;
         seq_no = packet[1] * (1 << 16) + packet[2] * (1 << 8) + packet[3];
         if (previous_seq_no != seq_no) {
-          debug(2,"block sequence number changed from expected %u to actual %u.", previous_seq_no, seq_no);
+          debug(2, "block sequence number changed from expected %u to actual %u.", previous_seq_no,
+                seq_no);
         }
         timestamp = nctohl(&packet[4]);
         // debug(1,"New block timestamp: %u.", timestamp);
         int32_t timestamp_difference = timestamp - expected_timestamp;
-          if ((timestamp_difference != 0) && (expected_timesamp_is_reasonable != 0))
-            debug(2, "Block with unexpected timestamp. Expected: %u, got: %u, difference: %d, blocks_read_in_sequence: %" PRIu64 ".", expected_timestamp, timestamp, timestamp_difference, blocks_read_in_sequence);
+        if ((timestamp_difference != 0) && (expected_timesamp_is_reasonable != 0))
+          debug(2,
+                "Block with unexpected timestamp. Expected: %u, got: %u, difference: %d, "
+                "blocks_read_in_sequence: %" PRIu64 ".",
+                expected_timestamp, timestamp, timestamp_difference, blocks_read_in_sequence);
         expected_timestamp = timestamp;
         expected_timesamp_is_reasonable = 0; // must be validated each time by decoding the frame
 
@@ -2922,12 +2947,14 @@ void *rtp_buffered_audio_processor(void *arg) {
                                     pcm_buffer_size);
                             } else {
                               memcpy(pcm_buffer + pcm_buffer_occupancy, pcm_audio, dst_bufsize);
-                              expected_timestamp += (dst_bufsize/conn->input_bytes_per_frame);
+                              expected_timestamp += (dst_bufsize / conn->input_bytes_per_frame);
                               expected_timesamp_is_reasonable = 1;
                               pcm_buffer_occupancy += dst_bufsize;
-                              // debug(1,"frames added: pcm_buffer_read_point (frames): %u, pcm_buffer_occupancy (frames): %u",
-                              //   pcm_buffer_read_point/conn->input_bytes_per_frame, pcm_buffer_occupancy/conn->input_bytes_per_frame);
-                           }
+                              // debug(1,"frames added: pcm_buffer_read_point (frames): %u,
+                              // pcm_buffer_occupancy (frames): %u",
+                              //   pcm_buffer_read_point/conn->input_bytes_per_frame,
+                              //   pcm_buffer_occupancy/conn->input_bytes_per_frame);
+                            }
                             // debug(1,"decoded %d samples", decoded_frame->nb_samples);
                             // memcpy(sampleBuffer,outputBuffer16,dst_bufsize);
                             av_freep(&pcm_audio);