@@ -1647,53 +1647,60 @@ struct vidtv_psi_table_nit
16471647 return NULL ;
16481648}
16491649
1650- u32 vidtv_psi_nit_write_into (struct vidtv_psi_nit_write_args args )
1650+ u32 vidtv_psi_nit_write_into (struct vidtv_psi_nit_write_args * args )
16511651{
1652- struct vidtv_psi_desc * table_descriptor = args .nit -> descriptor ;
1653- struct vidtv_psi_table_transport * transport = args .nit -> transport ;
1652+ struct header_write_args h_args = {
1653+ .dest_buf = args -> buf ,
1654+ .dest_offset = args -> offset ,
1655+ .h = & args -> nit -> header ,
1656+ .pid = VIDTV_NIT_PID ,
1657+ .dest_buf_sz = args -> buf_sz ,
1658+ };
1659+ struct psi_write_args psi_args = {
1660+ .dest_buf = args -> buf ,
1661+ .from = & args -> nit -> bitfield ,
1662+ .len = sizeof_field (struct vidtv_psi_table_nit , bitfield ),
1663+ .pid = VIDTV_NIT_PID ,
1664+ .new_psi_section = false,
1665+ .is_crc = false,
1666+ .dest_buf_sz = args -> buf_sz ,
1667+ };
1668+ struct desc_write_args d_args = {
1669+ .dest_buf = args -> buf ,
1670+ .pid = VIDTV_NIT_PID ,
1671+ .dest_buf_sz = args -> buf_sz ,
1672+ };
1673+ struct crc32_write_args c_args = {
1674+ .dest_buf = args -> buf ,
1675+ .pid = VIDTV_NIT_PID ,
1676+ .dest_buf_sz = args -> buf_sz ,
1677+ };
1678+ struct vidtv_psi_desc * table_descriptor = args -> nit -> descriptor ;
1679+ struct vidtv_psi_table_transport * transport = args -> nit -> transport ;
16541680 struct vidtv_psi_desc * transport_descriptor ;
1655- struct header_write_args h_args = {};
1656- struct psi_write_args psi_args = {};
1657- struct desc_write_args d_args = {};
1658- struct crc32_write_args c_args = {};
16591681 u32 crc = INITIAL_CRC ;
16601682 u32 nbytes = 0 ;
16611683
1662- vidtv_psi_nit_table_update_sec_len (args . nit );
1684+ vidtv_psi_nit_table_update_sec_len (args -> nit );
16631685
1664- h_args .dest_buf = args .buf ;
1665- h_args .dest_offset = args .offset ;
1666- h_args .h = & args .nit -> header ;
1667- h_args .pid = VIDTV_NIT_PID ;
1668- h_args .continuity_counter = args .continuity_counter ;
1669- h_args .dest_buf_sz = args .buf_sz ;
1686+ h_args .continuity_counter = args -> continuity_counter ;
16701687 h_args .crc = & crc ;
16711688
16721689 nbytes += vidtv_psi_table_header_write_into (& h_args );
16731690
16741691 /* write the bitfield */
1675- psi_args .dest_buf = args .buf ;
1676- psi_args .from = & args .nit -> bitfield ;
1677- psi_args .len = sizeof_field (struct vidtv_psi_table_nit , bitfield );
16781692
1679- psi_args .dest_offset = args .offset + nbytes ;
1680- psi_args .pid = VIDTV_NIT_PID ;
1681- psi_args .new_psi_section = false;
1682- psi_args .continuity_counter = args .continuity_counter ;
1683- psi_args .is_crc = false;
1684- psi_args .dest_buf_sz = args .buf_sz ;
1693+ psi_args .dest_offset = args -> offset + nbytes ;
1694+ psi_args .continuity_counter = args -> continuity_counter ;
16851695 psi_args .crc = & crc ;
16861696
16871697 nbytes += vidtv_psi_ts_psi_write_into (& psi_args );
16881698
16891699 while (table_descriptor ) {
16901700 /* write the descriptors, if any */
1691- d_args .dest_buf = args .buf ;
1692- d_args .dest_offset = args .offset + nbytes ;
1701+ d_args .dest_offset = args -> offset + nbytes ;
16931702 d_args .desc = table_descriptor ;
1694- d_args .pid = VIDTV_NIT_PID ;
1695- d_args .continuity_counter = args .continuity_counter ;
1696- d_args .dest_buf_sz = args .buf_sz ;
1703+ d_args .continuity_counter = args -> continuity_counter ;
16971704 d_args .crc = & crc ;
16981705
16991706 nbytes += vidtv_psi_desc_write_into (& d_args );
@@ -1702,34 +1709,29 @@ u32 vidtv_psi_nit_write_into(struct vidtv_psi_nit_write_args args)
17021709 }
17031710
17041711 /* write the second bitfield */
1705- psi_args .dest_buf = args .buf ;
1706- psi_args .from = & args .nit -> bitfield2 ;
1712+ psi_args .from = & args -> nit -> bitfield2 ;
17071713 psi_args .len = sizeof_field (struct vidtv_psi_table_nit , bitfield2 );
1708- psi_args .dest_offset = args .offset + nbytes ;
1709- psi_args .pid = VIDTV_NIT_PID ;
1714+ psi_args .dest_offset = args -> offset + nbytes ;
17101715
17111716 nbytes += vidtv_psi_ts_psi_write_into (& psi_args );
17121717
1718+ psi_args .len = sizeof_field (struct vidtv_psi_table_transport , transport_id ) +
1719+ sizeof_field (struct vidtv_psi_table_transport , network_id ) +
1720+ sizeof_field (struct vidtv_psi_table_transport , bitfield );
17131721 while (transport ) {
17141722 /* write the transport sections, if any */
17151723 psi_args .from = transport ;
1716- psi_args .len = sizeof_field (struct vidtv_psi_table_transport , transport_id ) +
1717- sizeof_field (struct vidtv_psi_table_transport , network_id ) +
1718- sizeof_field (struct vidtv_psi_table_transport , bitfield );
1719- psi_args .dest_offset = args .offset + nbytes ;
1724+ psi_args .dest_offset = args -> offset + nbytes ;
17201725
17211726 nbytes += vidtv_psi_ts_psi_write_into (& psi_args );
17221727
17231728 transport_descriptor = transport -> descriptor ;
17241729
17251730 while (transport_descriptor ) {
17261731 /* write the transport descriptors, if any */
1727- d_args .dest_buf = args .buf ;
1728- d_args .dest_offset = args .offset + nbytes ;
1732+ d_args .dest_offset = args -> offset + nbytes ;
17291733 d_args .desc = transport_descriptor ;
1730- d_args .pid = VIDTV_NIT_PID ;
1731- d_args .continuity_counter = args .continuity_counter ;
1732- d_args .dest_buf_sz = args .buf_sz ;
1734+ d_args .continuity_counter = args -> continuity_counter ;
17331735 d_args .crc = & crc ;
17341736
17351737 nbytes += vidtv_psi_desc_write_into (& d_args );
@@ -1740,12 +1742,9 @@ u32 vidtv_psi_nit_write_into(struct vidtv_psi_nit_write_args args)
17401742 transport = transport -> next ;
17411743 }
17421744
1743- c_args .dest_buf = args .buf ;
1744- c_args .dest_offset = args .offset + nbytes ;
1745+ c_args .dest_offset = args -> offset + nbytes ;
17451746 c_args .crc = cpu_to_be32 (crc );
1746- c_args .pid = VIDTV_NIT_PID ;
1747- c_args .continuity_counter = args .continuity_counter ;
1748- c_args .dest_buf_sz = args .buf_sz ;
1747+ c_args .continuity_counter = args -> continuity_counter ;
17491748
17501749 /* Write the CRC32 at the end */
17511750 nbytes += table_section_crc32_write_into (& c_args );
0 commit comments