@@ -940,6 +940,49 @@ impl<'a> HwParams<'a> {
940940 acheck ! ( snd_pcm_hw_params_set_period_time_near( ( self . 1 ) . 0 , self . 0 , & mut r, & mut d) ) . map ( |_| r as u32 )
941941 }
942942
943+ pub fn set_period_size_min ( & self , v : Frames , dir : ValueOr ) -> Result < Frames > {
944+ let mut d = dir as c_int ;
945+ let mut r = v as alsa:: snd_pcm_uframes_t ;
946+ acheck ! ( snd_pcm_hw_params_set_period_size_min( ( self . 1 ) . 0 , self . 0 , & mut r, & mut d) ) . map ( |_| r as Frames )
947+ }
948+
949+ pub fn set_period_size_max ( & self , v : Frames , dir : ValueOr ) -> Result < Frames > {
950+ let mut d = dir as c_int ;
951+ let mut r = v as alsa:: snd_pcm_uframes_t ;
952+ acheck ! ( snd_pcm_hw_params_set_period_size_max( ( self . 1 ) . 0 , self . 0 , & mut r, & mut d) ) . map ( |_| r as Frames )
953+ }
954+
955+ pub fn set_period_time ( & self , v : u32 , dir : ValueOr ) -> Result < ( ) > {
956+ acheck ! ( snd_pcm_hw_params_set_period_time( ( self . 1 ) . 0 , self . 0 , v as c_uint, dir as c_int) ) . map ( |_| ( ) )
957+ }
958+
959+ pub fn set_period_time_min ( & self , v : u32 , dir : ValueOr ) -> Result < u32 > {
960+ let mut d = dir as c_int ;
961+ let mut r = v as c_uint ;
962+ acheck ! ( snd_pcm_hw_params_set_period_time_min( ( self . 1 ) . 0 , self . 0 , & mut r, & mut d) ) . map ( |_| r as u32 )
963+ }
964+
965+ pub fn set_period_time_max ( & self , v : u32 , dir : ValueOr ) -> Result < u32 > {
966+ let mut d = dir as c_int ;
967+ let mut r = v as c_uint ;
968+ acheck ! ( snd_pcm_hw_params_set_period_time_max( ( self . 1 ) . 0 , self . 0 , & mut r, & mut d) ) . map ( |_| r as u32 )
969+ }
970+
971+ pub fn get_period_time ( & self ) -> Result < u32 > {
972+ let ( mut v, mut d) = ( 0 , 0 ) ;
973+ acheck ! ( snd_pcm_hw_params_get_period_time( self . 0 , & mut v, & mut d) ) . map ( |_| v as u32 )
974+ }
975+
976+ pub fn get_period_time_min ( & self ) -> Result < u32 > {
977+ let ( mut v, mut d) = ( 0 , 0 ) ;
978+ acheck ! ( snd_pcm_hw_params_get_period_time_min( self . 0 , & mut v, & mut d) ) . map ( |_| v as u32 )
979+ }
980+
981+ pub fn get_period_time_max ( & self ) -> Result < u32 > {
982+ let ( mut v, mut d) = ( 0 , 0 ) ;
983+ acheck ! ( snd_pcm_hw_params_get_period_time_max( self . 0 , & mut v, & mut d) ) . map ( |_| v as u32 )
984+ }
985+
943986 pub fn get_period_size ( & self ) -> Result < Frames > {
944987 let ( mut v, mut d) = ( 0 , 0 ) ;
945988 acheck ! ( snd_pcm_hw_params_get_period_size( self . 0 , & mut v, & mut d) ) . map ( |_| v as Frames )
@@ -955,15 +998,43 @@ impl<'a> HwParams<'a> {
955998 acheck ! ( snd_pcm_hw_params_get_period_size_max( self . 0 , & mut v, & mut d) ) . map ( |_| v as Frames )
956999 }
9571000
1001+ pub fn set_periods_near ( & self , v : u32 , dir : ValueOr ) -> Result < u32 > {
1002+ let mut d = dir as c_int ;
1003+ let mut r = v as c_uint ;
1004+ acheck ! ( snd_pcm_hw_params_set_periods_near( ( self . 1 ) . 0 , self . 0 , & mut r, & mut d) ) . map ( |_| r as u32 )
1005+ }
1006+
9581007 pub fn set_periods ( & self , v : u32 , dir : ValueOr ) -> Result < ( ) > {
9591008 acheck ! ( snd_pcm_hw_params_set_periods( ( self . 1 ) . 0 , self . 0 , v as c_uint, dir as c_int) ) . map ( |_| ( ) )
9601009 }
9611010
1011+ pub fn set_periods_min ( & self , v : u32 , dir : ValueOr ) -> Result < u32 > {
1012+ let mut d = dir as c_int ;
1013+ let mut r = v as c_uint ;
1014+ acheck ! ( snd_pcm_hw_params_set_periods_min( ( self . 1 ) . 0 , self . 0 , & mut r, & mut d) ) . map ( |_| r as u32 )
1015+ }
1016+
1017+ pub fn set_periods_max ( & self , v : u32 , dir : ValueOr ) -> Result < u32 > {
1018+ let mut d = dir as c_int ;
1019+ let mut r = v as c_uint ;
1020+ acheck ! ( snd_pcm_hw_params_set_periods_max( ( self . 1 ) . 0 , self . 0 , & mut r, & mut d) ) . map ( |_| r as u32 )
1021+ }
1022+
9621023 pub fn get_periods ( & self ) -> Result < u32 > {
9631024 let ( mut v, mut d) = ( 0 , 0 ) ;
9641025 acheck ! ( snd_pcm_hw_params_get_periods( self . 0 , & mut v, & mut d) ) . map ( |_| v as u32 )
9651026 }
9661027
1028+ pub fn get_periods_min ( & self ) -> Result < u32 > {
1029+ let ( mut v, mut d) = ( 0 , 0 ) ;
1030+ acheck ! ( snd_pcm_hw_params_get_periods_min( self . 0 , & mut v, & mut d) ) . map ( |_| v as u32 )
1031+ }
1032+
1033+ pub fn get_periods_max ( & self ) -> Result < u32 > {
1034+ let ( mut v, mut d) = ( 0 , 0 ) ;
1035+ acheck ! ( snd_pcm_hw_params_get_periods_max( self . 0 , & mut v, & mut d) ) . map ( |_| v as u32 )
1036+ }
1037+
9671038 pub fn set_buffer_size_near ( & self , v : Frames ) -> Result < Frames > {
9681039 let mut r = v as alsa:: snd_pcm_uframes_t ;
9691040 acheck ! ( snd_pcm_hw_params_set_buffer_size_near( ( self . 1 ) . 0 , self . 0 , & mut r) ) . map ( |_| r as Frames )
@@ -989,6 +1060,22 @@ impl<'a> HwParams<'a> {
9891060 acheck ! ( snd_pcm_hw_params_set_buffer_time_near( ( self . 1 ) . 0 , self . 0 , & mut r, & mut d) ) . map ( |_| r as u32 )
9901061 }
9911062
1063+ pub fn set_buffer_time ( & self , v : u32 , dir : ValueOr ) -> Result < ( ) > {
1064+ acheck ! ( snd_pcm_hw_params_set_buffer_time( ( self . 1 ) . 0 , self . 0 , v as c_uint, dir as c_int) ) . map ( |_| ( ) )
1065+ }
1066+
1067+ pub fn set_buffer_time_min ( & self , v : u32 , dir : ValueOr ) -> Result < u32 > {
1068+ let mut d = dir as c_int ;
1069+ let mut r = v as c_uint ;
1070+ acheck ! ( snd_pcm_hw_params_set_buffer_time_min( ( self . 1 ) . 0 , self . 0 , & mut r, & mut d) ) . map ( |_| r as u32 )
1071+ }
1072+
1073+ pub fn set_buffer_time_max ( & self , v : u32 , dir : ValueOr ) -> Result < u32 > {
1074+ let mut d = dir as c_int ;
1075+ let mut r = v as c_uint ;
1076+ acheck ! ( snd_pcm_hw_params_set_buffer_time_max( ( self . 1 ) . 0 , self . 0 , & mut r, & mut d) ) . map ( |_| r as u32 )
1077+ }
1078+
9921079 pub fn get_buffer_size ( & self ) -> Result < Frames > {
9931080 let mut v = 0 ;
9941081 acheck ! ( snd_pcm_hw_params_get_buffer_size( self . 0 , & mut v) ) . map ( |_| v as Frames )
@@ -1004,6 +1091,11 @@ impl<'a> HwParams<'a> {
10041091 acheck ! ( snd_pcm_hw_params_get_buffer_size_max( self . 0 , & mut v) ) . map ( |_| v as Frames )
10051092 }
10061093
1094+ pub fn get_buffer_time ( & self ) -> Result < u32 > {
1095+ let ( mut v, mut d) = ( 0 , 0 ) ;
1096+ acheck ! ( snd_pcm_hw_params_get_buffer_time( self . 0 , & mut v, & mut d) ) . map ( |_| v as u32 )
1097+ }
1098+
10071099 pub fn get_buffer_time_min ( & self ) -> Result < u32 > {
10081100 let ( mut v, mut d) = ( 0 , 0 ) ;
10091101 acheck ! ( snd_pcm_hw_params_get_buffer_time_min( self . 0 , & mut v, & mut d) ) . map ( |_| v as u32 )
0 commit comments