@@ -634,69 +634,67 @@ void vidtv_sdt_desc_assign(struct vidtv_psi_table_sdt *sdt,
634634 vidtv_psi_update_version_num (& sdt -> header );
635635}
636636
637- static u32 vidtv_psi_desc_write_into (struct desc_write_args args )
637+ static u32 vidtv_psi_desc_write_into (struct desc_write_args * args )
638638{
639+ struct psi_write_args psi_args = {
640+ .dest_buf = args -> dest_buf ,
641+ .from = & args -> desc -> type ,
642+ .pid = args -> pid ,
643+ .new_psi_section = false,
644+ .continuity_counter = args -> continuity_counter ,
645+ .is_crc = false,
646+ .dest_buf_sz = args -> dest_buf_sz ,
647+ .crc = args -> crc ,
648+ .len = sizeof_field (struct vidtv_psi_desc , type ) +
649+ sizeof_field (struct vidtv_psi_desc , length ),
650+ };
639651 struct vidtv_psi_desc_service_list_entry * serv_list_entry = NULL ;
640- struct psi_write_args psi_args = {};
641- /* the number of bytes written by this function */
642652 u32 nbytes = 0 ;
643653
644- psi_args .dest_buf = args .dest_buf ;
645- psi_args .from = & args .desc -> type ;
646-
647- psi_args .len = sizeof_field (struct vidtv_psi_desc , type ) +
648- sizeof_field (struct vidtv_psi_desc , length );
649-
650- psi_args .dest_offset = args .dest_offset + nbytes ;
651- psi_args .pid = args .pid ;
652- psi_args .new_psi_section = false;
653- psi_args .continuity_counter = args .continuity_counter ;
654- psi_args .is_crc = false;
655- psi_args .dest_buf_sz = args .dest_buf_sz ;
656- psi_args .crc = args .crc ;
654+ psi_args .dest_offset = args -> dest_offset + nbytes ;
657655
658656 nbytes += vidtv_psi_ts_psi_write_into (& psi_args );
659657
660- switch (args . desc -> type ) {
658+ switch (args -> desc -> type ) {
661659 case SERVICE_DESCRIPTOR :
662- psi_args .dest_offset = args . dest_offset + nbytes ;
660+ psi_args .dest_offset = args -> dest_offset + nbytes ;
663661 psi_args .len = sizeof_field (struct vidtv_psi_desc_service , service_type ) +
664662 sizeof_field (struct vidtv_psi_desc_service , provider_name_len );
665- psi_args .from = & ((struct vidtv_psi_desc_service * )args . desc )-> service_type ;
663+ psi_args .from = & ((struct vidtv_psi_desc_service * )args -> desc )-> service_type ;
666664
667665 nbytes += vidtv_psi_ts_psi_write_into (& psi_args );
668666
669- psi_args .dest_offset = args . dest_offset + nbytes ;
670- psi_args .len = ((struct vidtv_psi_desc_service * )args . desc )-> provider_name_len ;
671- psi_args .from = ((struct vidtv_psi_desc_service * )args . desc )-> provider_name ;
667+ psi_args .dest_offset = args -> dest_offset + nbytes ;
668+ psi_args .len = ((struct vidtv_psi_desc_service * )args -> desc )-> provider_name_len ;
669+ psi_args .from = ((struct vidtv_psi_desc_service * )args -> desc )-> provider_name ;
672670
673671 nbytes += vidtv_psi_ts_psi_write_into (& psi_args );
674672
675- psi_args .dest_offset = args . dest_offset + nbytes ;
673+ psi_args .dest_offset = args -> dest_offset + nbytes ;
676674 psi_args .len = sizeof_field (struct vidtv_psi_desc_service , service_name_len );
677- psi_args .from = & ((struct vidtv_psi_desc_service * )args . desc )-> service_name_len ;
675+ psi_args .from = & ((struct vidtv_psi_desc_service * )args -> desc )-> service_name_len ;
678676
679677 nbytes += vidtv_psi_ts_psi_write_into (& psi_args );
680678
681- psi_args .dest_offset = args . dest_offset + nbytes ;
682- psi_args .len = ((struct vidtv_psi_desc_service * )args . desc )-> service_name_len ;
683- psi_args .from = ((struct vidtv_psi_desc_service * )args . desc )-> service_name ;
679+ psi_args .dest_offset = args -> dest_offset + nbytes ;
680+ psi_args .len = ((struct vidtv_psi_desc_service * )args -> desc )-> service_name_len ;
681+ psi_args .from = ((struct vidtv_psi_desc_service * )args -> desc )-> service_name ;
684682
685683 nbytes += vidtv_psi_ts_psi_write_into (& psi_args );
686684 break ;
687685
688686 case NETWORK_NAME_DESCRIPTOR :
689- psi_args .dest_offset = args . dest_offset + nbytes ;
690- psi_args .len = args . desc -> length ;
691- psi_args .from = ((struct vidtv_psi_desc_network_name * )args . desc )-> network_name ;
687+ psi_args .dest_offset = args -> dest_offset + nbytes ;
688+ psi_args .len = args -> desc -> length ;
689+ psi_args .from = ((struct vidtv_psi_desc_network_name * )args -> desc )-> network_name ;
692690
693691 nbytes += vidtv_psi_ts_psi_write_into (& psi_args );
694692 break ;
695693
696694 case SERVICE_LIST_DESCRIPTOR :
697- serv_list_entry = ((struct vidtv_psi_desc_service_list * )args . desc )-> service_list ;
695+ serv_list_entry = ((struct vidtv_psi_desc_service_list * )args -> desc )-> service_list ;
698696 while (serv_list_entry ) {
699- psi_args .dest_offset = args . dest_offset + nbytes ;
697+ psi_args .dest_offset = args -> dest_offset + nbytes ;
700698 psi_args .len = sizeof (struct vidtv_psi_desc_service_list_entry ) -
701699 sizeof (struct vidtv_psi_desc_service_list_entry * );
702700 psi_args .from = serv_list_entry ;
@@ -708,45 +706,45 @@ static u32 vidtv_psi_desc_write_into(struct desc_write_args args)
708706 break ;
709707
710708 case SHORT_EVENT_DESCRIPTOR :
711- psi_args .dest_offset = args . dest_offset + nbytes ;
709+ psi_args .dest_offset = args -> dest_offset + nbytes ;
712710 psi_args .len = ISO_LANGUAGE_CODE_LEN ;
713711 psi_args .from = ((struct vidtv_psi_desc_short_event * )
714- args . desc )-> iso_language_code ;
712+ args -> desc )-> iso_language_code ;
715713
716714 nbytes += vidtv_psi_ts_psi_write_into (& psi_args );
717715
718- psi_args .dest_offset = args . dest_offset + nbytes ;
716+ psi_args .dest_offset = args -> dest_offset + nbytes ;
719717 psi_args .len = sizeof_field (struct vidtv_psi_desc_short_event , event_name_len );
720718 psi_args .from = & ((struct vidtv_psi_desc_short_event * )
721- args . desc )-> event_name_len ;
719+ args -> desc )-> event_name_len ;
722720
723721 nbytes += vidtv_psi_ts_psi_write_into (& psi_args );
724722
725- psi_args .dest_offset = args . dest_offset + nbytes ;
726- psi_args .len = ((struct vidtv_psi_desc_short_event * )args . desc )-> event_name_len ;
727- psi_args .from = ((struct vidtv_psi_desc_short_event * )args . desc )-> event_name ;
723+ psi_args .dest_offset = args -> dest_offset + nbytes ;
724+ psi_args .len = ((struct vidtv_psi_desc_short_event * )args -> desc )-> event_name_len ;
725+ psi_args .from = ((struct vidtv_psi_desc_short_event * )args -> desc )-> event_name ;
728726
729727 nbytes += vidtv_psi_ts_psi_write_into (& psi_args );
730728
731- psi_args .dest_offset = args . dest_offset + nbytes ;
729+ psi_args .dest_offset = args -> dest_offset + nbytes ;
732730 psi_args .len = sizeof_field (struct vidtv_psi_desc_short_event , text_len );
733- psi_args .from = & ((struct vidtv_psi_desc_short_event * )args . desc )-> text_len ;
731+ psi_args .from = & ((struct vidtv_psi_desc_short_event * )args -> desc )-> text_len ;
734732
735733 nbytes += vidtv_psi_ts_psi_write_into (& psi_args );
736734
737- psi_args .dest_offset = args . dest_offset + nbytes ;
738- psi_args .len = ((struct vidtv_psi_desc_short_event * )args . desc )-> text_len ;
739- psi_args .from = ((struct vidtv_psi_desc_short_event * )args . desc )-> text ;
735+ psi_args .dest_offset = args -> dest_offset + nbytes ;
736+ psi_args .len = ((struct vidtv_psi_desc_short_event * )args -> desc )-> text_len ;
737+ psi_args .from = ((struct vidtv_psi_desc_short_event * )args -> desc )-> text ;
740738
741739 nbytes += vidtv_psi_ts_psi_write_into (& psi_args );
742740
743741 break ;
744742
745743 case REGISTRATION_DESCRIPTOR :
746744 default :
747- psi_args .dest_offset = args . dest_offset + nbytes ;
748- psi_args .len = args . desc -> length ;
749- psi_args .from = & args . desc -> data ;
745+ psi_args .dest_offset = args -> dest_offset + nbytes ;
746+ psi_args .len = args -> desc -> length ;
747+ psi_args .from = & args -> desc -> data ;
750748
751749 nbytes += vidtv_psi_ts_psi_write_into (& psi_args );
752750 break ;
@@ -1212,7 +1210,7 @@ u32 vidtv_psi_pmt_write_into(struct vidtv_psi_pmt_write_args args)
12121210 d_args .dest_buf_sz = args .buf_sz ;
12131211 d_args .crc = & crc ;
12141212
1215- nbytes += vidtv_psi_desc_write_into (d_args );
1213+ nbytes += vidtv_psi_desc_write_into (& d_args );
12161214
12171215 table_descriptor = table_descriptor -> next ;
12181216 }
@@ -1239,7 +1237,7 @@ u32 vidtv_psi_pmt_write_into(struct vidtv_psi_pmt_write_args args)
12391237 d_args .dest_buf_sz = args .buf_sz ;
12401238 d_args .crc = & crc ;
12411239
1242- nbytes += vidtv_psi_desc_write_into (d_args );
1240+ nbytes += vidtv_psi_desc_write_into (& d_args );
12431241
12441242 stream_descriptor = stream_descriptor -> next ;
12451243 }
@@ -1378,7 +1376,7 @@ u32 vidtv_psi_sdt_write_into(struct vidtv_psi_sdt_write_args args)
13781376 d_args .dest_buf_sz = args .buf_sz ;
13791377 d_args .crc = & crc ;
13801378
1381- nbytes += vidtv_psi_desc_write_into (d_args );
1379+ nbytes += vidtv_psi_desc_write_into (& d_args );
13821380
13831381 service_desc = service_desc -> next ;
13841382 }
@@ -1699,7 +1697,7 @@ u32 vidtv_psi_nit_write_into(struct vidtv_psi_nit_write_args args)
16991697 d_args .dest_buf_sz = args .buf_sz ;
17001698 d_args .crc = & crc ;
17011699
1702- nbytes += vidtv_psi_desc_write_into (d_args );
1700+ nbytes += vidtv_psi_desc_write_into (& d_args );
17031701
17041702 table_descriptor = table_descriptor -> next ;
17051703 }
@@ -1735,7 +1733,7 @@ u32 vidtv_psi_nit_write_into(struct vidtv_psi_nit_write_args args)
17351733 d_args .dest_buf_sz = args .buf_sz ;
17361734 d_args .crc = & crc ;
17371735
1738- nbytes += vidtv_psi_desc_write_into (d_args );
1736+ nbytes += vidtv_psi_desc_write_into (& d_args );
17391737
17401738 transport_descriptor = transport_descriptor -> next ;
17411739 }
@@ -1925,7 +1923,7 @@ u32 vidtv_psi_eit_write_into(struct vidtv_psi_eit_write_args args)
19251923 d_args .dest_buf_sz = args .buf_sz ;
19261924 d_args .crc = & crc ;
19271925
1928- nbytes += vidtv_psi_desc_write_into (d_args );
1926+ nbytes += vidtv_psi_desc_write_into (& d_args );
19291927
19301928 event_descriptor = event_descriptor -> next ;
19311929 }
0 commit comments