Browse Source

period time calculation error for 128 samples

pull/450/head
Christoph Kuhr 7 years ago
parent
commit
b89182afef
3 changed files with 26 additions and 22 deletions
  1. +1
    -1
      .gitmodules
  2. +22
    -17
      linux/avb/JackAVBDriver/JackAVBDriver.layout
  3. +3
    -4
      linux/avb/listener_mediaclock.c

+ 1
- 1
.gitmodules View File

@@ -1,3 +1,3 @@
[submodule "linux/avb/OpenAvnu"]
path = linux/avb/OpenAvnu
url = https://github.com/AVnu/OpenAvnu.git
url = https://github.com/chris-kuhr/OpenAvnu.git

+ 22
- 17
linux/avb/JackAVBDriver/JackAVBDriver.layout View File

@@ -2,29 +2,24 @@
<CodeBlocks_layout_file>
<FileVersion major="1" minor="0" />
<ActiveTarget name="Debug" />
<File name="../mrpClient_interface.c" open="1" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="5047" topLine="141" />
</Cursor>
</File>
<File name="../mrpClient_interface.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="920" topLine="0" />
</Cursor>
</File>
<File name="../avb_1722avtp.c" open="1" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="2" zoom_2="0">
<File name="../global_definitions.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="17955" topLine="478" />
<Cursor1 position="2626" topLine="72" />
</Cursor>
</File>
<File name="../avb_1722avtp.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="../JackAVBDriver.h" open="0" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1466" topLine="0" />
<Cursor1 position="1345" topLine="0" />
</Cursor>
</File>
<File name="../listener_mediaclock.c" open="1" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="../mrpClient_interface.c" open="0" top="0" tabpos="5" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="6289" topLine="69" />
<Cursor1 position="6250" topLine="132" />
</Cursor>
</File>
<File name="../listener_mediaclock.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
@@ -32,19 +27,29 @@
<Cursor1 position="1569" topLine="0" />
</Cursor>
</File>
<File name="../JackAVBDriver.cpp" open="1" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="../JackAVBDriver.cpp" open="0" top="0" tabpos="1" split="0" active="1" splitpos="0" zoom_1="5" zoom_2="0">
<Cursor>
<Cursor1 position="8324" topLine="189" />
<Cursor1 position="7751" topLine="179" />
</Cursor>
</File>
<File name="../JackAVBDriver.h" open="1" top="0" tabpos="2" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="../avb_1722avtp.c" open="0" top="0" tabpos="3" split="0" active="1" splitpos="0" zoom_1="2" zoom_2="0">
<Cursor>
<Cursor1 position="982" topLine="3" />
<Cursor1 position="13867" topLine="469" />
</Cursor>
</File>
<File name="../global_definitions.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<File name="../avb_sockets.c" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3794" topLine="60" />
</Cursor>
</File>
<File name="../avb_1722avtp.h" open="0" top="0" tabpos="0" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="1134" topLine="0" />
</Cursor>
</File>
<File name="../listener_mediaclock.c" open="0" top="0" tabpos="4" split="0" active="1" splitpos="0" zoom_1="0" zoom_2="0">
<Cursor>
<Cursor1 position="3482" topLine="105" />
<Cursor1 position="7276" topLine="0" />
</Cursor>
</File>
</CodeBlocks_layout_file>

+ 3
- 4
linux/avb/listener_mediaclock.c View File

@@ -126,9 +126,6 @@ uint64_t mediaclock_listener_wait_recv_ts( FILE* filepointer, ieee1722_avtp_driv
uint64_t packet_arrival_time_ns = 0;
uint64_t ipg_to_last_packet_ns = 0;

int bytes_per_stereo_channel = 12 /*CHANNEL_COUNT_STEREO * AVTP_SAMPLES_PER_CHANNEL_PER_PACKET = 2*6 */ * sizeof(uint32_t);
int avtp_hdr_len = ETHERNET_HDR_LENGTH + 32 /*AVB_HEADER_LENGTH*/;

// fprintf(filepointer, "stream packet!\n");fflush(filepointer);

/* Packet Arrival Time from Device */
@@ -167,9 +164,11 @@ uint64_t mediaclock_listener_wait_recv_ts( FILE* filepointer, ieee1722_avtp_driv

adjust_packet_time_ns = (uint64_t) ( ( (float)((*ieee1722mc)->period_size % 6 ) / (float)(*ieee1722mc)->sample_rate ) * 1000000000LL);
// fprintf(filepointer, "adjust time %lld ns\n", adjust_packet_time_ns);fflush(filepointer);
} else {
adjust_packet_time_ns = ipg_to_last_packet_ns;
}

return ipg_to_last_packet_ns - adjust_packet_time_ns;
return adjust_packet_time_ns;
}
return -1;



Loading…
Cancel
Save