@@ -240,10 +240,7 @@ fn publish_catalog_roundtrip() {
240240
241241 // Publish and consume the broadcast to verify the catalog round-trips.
242242 let path = b"catalog-producer" ;
243- assert_eq ! (
244- unsafe { moq_origin_publish( origin, path. as_ptr( ) as * const c_char, path. len( ) , broadcast) } ,
245- 0
246- ) ;
243+ let _publish = id ( unsafe { moq_origin_publish ( origin, path. as_ptr ( ) as * const c_char , path. len ( ) , broadcast) } ) ;
247244
248245 let consume = id ( unsafe { moq_origin_consume ( origin, path. as_ptr ( ) as * const c_char , path. len ( ) ) } ) ;
249246 let catalog_cb = Callback :: new ( ) ;
@@ -330,10 +327,7 @@ fn raw_track_publish_consume() {
330327 let track = id ( unsafe { moq_publish_track ( broadcast, track_name. as_ptr ( ) as * const c_char , track_name. len ( ) ) } ) ;
331328
332329 let path = b"raw-track" ;
333- assert_eq ! (
334- unsafe { moq_origin_publish( origin, path. as_ptr( ) as * const c_char, path. len( ) , broadcast) } ,
335- 0
336- ) ;
330+ let _publish = id ( unsafe { moq_origin_publish ( origin, path. as_ptr ( ) as * const c_char , path. len ( ) , broadcast) } ) ;
337331
338332 let consume = id ( unsafe { moq_origin_consume ( origin, path. as_ptr ( ) as * const c_char , path. len ( ) ) } ) ;
339333
@@ -452,10 +446,7 @@ fn double_close_all_resource_types() {
452446 )
453447 } ) ;
454448 let path = b"double-close-test" ;
455- assert_eq ! (
456- unsafe { moq_origin_publish( origin, path. as_ptr( ) as * const c_char, path. len( ) , broadcast) } ,
457- 0
458- ) ;
449+ let _publish = id ( unsafe { moq_origin_publish ( origin, path. as_ptr ( ) as * const c_char , path. len ( ) , broadcast) } ) ;
459450
460451 let consume = id ( unsafe { moq_origin_consume ( origin, path. as_ptr ( ) as * const c_char , path. len ( ) ) } ) ;
461452 let catalog_cb = Callback :: new ( ) ;
@@ -522,11 +513,7 @@ fn local_announce() {
522513
523514 let broadcast = id ( moq_publish_create ( ) ) ;
524515 let path = b"test/broadcast" ;
525- assert_eq ! (
526- unsafe { moq_origin_publish( origin, path. as_ptr( ) as * const c_char, path. len( ) , broadcast) } ,
527- 0 ,
528- "moq_origin_publish should succeed"
529- ) ;
516+ let _publish = id ( unsafe { moq_origin_publish ( origin, path. as_ptr ( ) as * const c_char , path. len ( ) , broadcast) } ) ;
530517
531518 let announced_id = id ( cb. recv ( ) ) ;
532519
@@ -556,10 +543,7 @@ fn announced_deactivation() {
556543
557544 let broadcast = id ( moq_publish_create ( ) ) ;
558545 let path = b"deactivate/test" ;
559- assert_eq ! (
560- unsafe { moq_origin_publish( origin, path. as_ptr( ) as * const c_char, path. len( ) , broadcast) } ,
561- 0
562- ) ;
546+ let publish = id ( unsafe { moq_origin_publish ( origin, path. as_ptr ( ) as * const c_char , path. len ( ) , broadcast) } ) ;
563547
564548 let announced_id = id ( cb. recv ( ) ) ;
565549 let mut info = moq_announced {
@@ -570,14 +554,17 @@ fn announced_deactivation() {
570554 assert_eq ! ( unsafe { moq_origin_announced_info( announced_id, & mut info) } , 0 ) ;
571555 assert ! ( info. active) ;
572556
573- assert_eq ! ( moq_publish_close( broadcast) , 0 ) ;
557+ // Dropping the publish guard is what unannounces the broadcast; closing the
558+ // broadcast producer itself no longer deactivates the announcement.
559+ assert_eq ! ( moq_origin_unpublish( publish) , 0 ) ;
574560
575561 let deactivated_id = id ( cb. recv ( ) ) ;
576562 assert_eq ! ( unsafe { moq_origin_announced_info( deactivated_id, & mut info) } , 0 ) ;
577- assert ! ( !info. active, "broadcast should be inactive after publisher closes " ) ;
563+ assert ! ( !info. active, "broadcast should be inactive after unpublish " ) ;
578564
579565 assert_eq ! ( moq_origin_announced_close( announced_task) , 0 ) ;
580566 assert_eq ! ( cb. recv_terminal( ) , 0 , "announced close delivers terminal 0" ) ;
567+ assert_eq ! ( moq_publish_close( broadcast) , 0 ) ;
581568 assert_eq ! ( moq_origin_close( origin) , 0 ) ;
582569}
583570
@@ -599,10 +586,7 @@ fn local_publish_consume() {
599586 } ) ;
600587
601588 let path = b"live" ;
602- assert_eq ! (
603- unsafe { moq_origin_publish( origin, path. as_ptr( ) as * const c_char, path. len( ) , broadcast) } ,
604- 0
605- ) ;
589+ let _publish = id ( unsafe { moq_origin_publish ( origin, path. as_ptr ( ) as * const c_char , path. len ( ) , broadcast) } ) ;
606590
607591 let consume = id ( unsafe { moq_origin_consume ( origin, path. as_ptr ( ) as * const c_char , path. len ( ) ) } ) ;
608592 let catalog_cb = Callback :: new ( ) ;
@@ -714,10 +698,7 @@ fn consume_announced_local() {
714698 init. len ( ) ,
715699 )
716700 } ) ;
717- assert_eq ! (
718- unsafe { moq_origin_publish( origin, path. as_ptr( ) as * const c_char, path. len( ) , broadcast) } ,
719- 0
720- ) ;
701+ let _publish = id ( unsafe { moq_origin_publish ( origin, path. as_ptr ( ) as * const c_char , path. len ( ) , broadcast) } ) ;
721702
722703 // First the broadcast handle, then a terminal 0 once the wait finishes.
723704 let consume = id ( cb. recv ( ) ) ;
@@ -793,10 +774,7 @@ fn video_publish_consume() {
793774 } ) ;
794775
795776 let path = b"video-test" ;
796- assert_eq ! (
797- unsafe { moq_origin_publish( origin, path. as_ptr( ) as * const c_char, path. len( ) , broadcast) } ,
798- 0
799- ) ;
777+ let _publish = id ( unsafe { moq_origin_publish ( origin, path. as_ptr ( ) as * const c_char , path. len ( ) , broadcast) } ) ;
800778
801779 let consume = id ( unsafe { moq_origin_consume ( origin, path. as_ptr ( ) as * const c_char , path. len ( ) ) } ) ;
802780 let catalog_cb = Callback :: new ( ) ;
@@ -904,10 +882,7 @@ fn multiple_frames_ordering() {
904882 } ) ;
905883
906884 let path = b"ordering-test" ;
907- assert_eq ! (
908- unsafe { moq_origin_publish( origin, path. as_ptr( ) as * const c_char, path. len( ) , broadcast) } ,
909- 0
910- ) ;
885+ let _publish = id ( unsafe { moq_origin_publish ( origin, path. as_ptr ( ) as * const c_char , path. len ( ) , broadcast) } ) ;
911886
912887 let consume = id ( unsafe { moq_origin_consume ( origin, path. as_ptr ( ) as * const c_char , path. len ( ) ) } ) ;
913888 let catalog_cb = Callback :: new ( ) ;
@@ -973,10 +948,7 @@ fn catalog_update_on_new_track() {
973948 } ) ;
974949
975950 let path = b"catalog-update" ;
976- assert_eq ! (
977- unsafe { moq_origin_publish( origin, path. as_ptr( ) as * const c_char, path. len( ) , broadcast) } ,
978- 0
979- ) ;
951+ let _publish = id ( unsafe { moq_origin_publish ( origin, path. as_ptr ( ) as * const c_char , path. len ( ) , broadcast) } ) ;
980952
981953 let consume = id ( unsafe { moq_origin_consume ( origin, path. as_ptr ( ) as * const c_char , path. len ( ) ) } ) ;
982954 let catalog_cb = Callback :: new ( ) ;
0 commit comments