@@ -1857,68 +1857,73 @@ struct vidtv_psi_table_eit
18571857 return eit ;
18581858}
18591859
1860- u32 vidtv_psi_eit_write_into (struct vidtv_psi_eit_write_args args )
1860+ u32 vidtv_psi_eit_write_into (struct vidtv_psi_eit_write_args * args )
18611861{
1862- struct vidtv_psi_table_eit_event * event = args .eit -> event ;
1862+ struct header_write_args h_args = {
1863+ .dest_buf = args -> buf ,
1864+ .dest_offset = args -> offset ,
1865+ .h = & args -> eit -> header ,
1866+ .pid = VIDTV_EIT_PID ,
1867+ .dest_buf_sz = args -> buf_sz ,
1868+ };
1869+ struct psi_write_args psi_args = {
1870+ .dest_buf = args -> buf ,
1871+ .len = sizeof_field (struct vidtv_psi_table_eit , transport_id ) +
1872+ sizeof_field (struct vidtv_psi_table_eit , network_id ) +
1873+ sizeof_field (struct vidtv_psi_table_eit , last_segment ) +
1874+ sizeof_field (struct vidtv_psi_table_eit , last_table_id ),
1875+ .pid = VIDTV_EIT_PID ,
1876+ .new_psi_section = false,
1877+ .is_crc = false,
1878+ .dest_buf_sz = args -> buf_sz ,
1879+ };
1880+ struct desc_write_args d_args = {
1881+ .dest_buf = args -> buf ,
1882+ .pid = VIDTV_EIT_PID ,
1883+ .dest_buf_sz = args -> buf_sz ,
1884+ };
1885+ struct crc32_write_args c_args = {
1886+ .dest_buf = args -> buf ,
1887+ .pid = VIDTV_EIT_PID ,
1888+ .dest_buf_sz = args -> buf_sz ,
1889+ };
1890+ struct vidtv_psi_table_eit_event * event = args -> eit -> event ;
18631891 struct vidtv_psi_desc * event_descriptor ;
1864- struct header_write_args h_args = {};
1865- struct psi_write_args psi_args = {};
1866- struct desc_write_args d_args = {};
1867- struct crc32_write_args c_args = {};
18681892 u32 crc = INITIAL_CRC ;
18691893 u32 nbytes = 0 ;
18701894
1871- vidtv_psi_eit_table_update_sec_len (args . eit );
1895+ vidtv_psi_eit_table_update_sec_len (args -> eit );
18721896
1873- h_args .dest_buf = args .buf ;
1874- h_args .dest_offset = args .offset ;
1875- h_args .h = & args .eit -> header ;
1876- h_args .pid = VIDTV_EIT_PID ;
1877- h_args .continuity_counter = args .continuity_counter ;
1878- h_args .dest_buf_sz = args .buf_sz ;
1897+ h_args .continuity_counter = args -> continuity_counter ;
18791898 h_args .crc = & crc ;
18801899
18811900 nbytes += vidtv_psi_table_header_write_into (& h_args );
18821901
1883- psi_args .dest_buf = args .buf ;
1884- psi_args .from = & args .eit -> transport_id ;
1885-
1886- psi_args .len = sizeof_field (struct vidtv_psi_table_eit , transport_id ) +
1887- sizeof_field (struct vidtv_psi_table_eit , network_id ) +
1888- sizeof_field (struct vidtv_psi_table_eit , last_segment ) +
1889- sizeof_field (struct vidtv_psi_table_eit , last_table_id );
1890-
1891- psi_args .dest_offset = args .offset + nbytes ;
1892- psi_args .pid = VIDTV_EIT_PID ;
1893- psi_args .new_psi_section = false;
1894- psi_args .continuity_counter = args .continuity_counter ;
1895- psi_args .is_crc = false;
1896- psi_args .dest_buf_sz = args .buf_sz ;
1902+ psi_args .from = & args -> eit -> transport_id ;
1903+ psi_args .dest_offset = args -> offset + nbytes ;
1904+ psi_args .continuity_counter = args -> continuity_counter ;
18971905 psi_args .crc = & crc ;
18981906
18991907 nbytes += vidtv_psi_ts_psi_write_into (& psi_args );
19001908
1909+ /* skip both pointers at the end */
1910+ psi_args .len = sizeof (struct vidtv_psi_table_eit_event ) -
1911+ sizeof (struct vidtv_psi_desc * ) -
1912+ sizeof (struct vidtv_psi_table_eit_event * );
19011913 while (event ) {
19021914 /* copy the events, if any */
19031915 psi_args .from = event ;
1904- /* skip both pointers at the end */
1905- psi_args .len = sizeof (struct vidtv_psi_table_eit_event ) -
1906- sizeof (struct vidtv_psi_desc * ) -
1907- sizeof (struct vidtv_psi_table_eit_event * );
1908- psi_args .dest_offset = args .offset + nbytes ;
1916+ psi_args .dest_offset = args -> offset + nbytes ;
19091917
19101918 nbytes += vidtv_psi_ts_psi_write_into (& psi_args );
19111919
19121920 event_descriptor = event -> descriptor ;
19131921
19141922 while (event_descriptor ) {
19151923 /* copy the event descriptors, if any */
1916- d_args .dest_buf = args .buf ;
1917- d_args .dest_offset = args .offset + nbytes ;
1924+ d_args .dest_offset = args -> offset + nbytes ;
19181925 d_args .desc = event_descriptor ;
1919- d_args .pid = VIDTV_EIT_PID ;
1920- d_args .continuity_counter = args .continuity_counter ;
1921- d_args .dest_buf_sz = args .buf_sz ;
1926+ d_args .continuity_counter = args -> continuity_counter ;
19221927 d_args .crc = & crc ;
19231928
19241929 nbytes += vidtv_psi_desc_write_into (& d_args );
@@ -1929,12 +1934,9 @@ u32 vidtv_psi_eit_write_into(struct vidtv_psi_eit_write_args args)
19291934 event = event -> next ;
19301935 }
19311936
1932- c_args .dest_buf = args .buf ;
1933- c_args .dest_offset = args .offset + nbytes ;
1937+ c_args .dest_offset = args -> offset + nbytes ;
19341938 c_args .crc = cpu_to_be32 (crc );
1935- c_args .pid = VIDTV_EIT_PID ;
1936- c_args .continuity_counter = args .continuity_counter ;
1937- c_args .dest_buf_sz = args .buf_sz ;
1939+ c_args .continuity_counter = args -> continuity_counter ;
19381940
19391941 /* Write the CRC at the end */
19401942 nbytes += table_section_crc32_write_into (& c_args );
0 commit comments