[alsa-devel] snd_pcm_hw_rule_noresample

Raymond Yau superquad.vortex2 at gmail.com
Tue Sep 20 10:24:45 CEST 2011


60fdc82f96bff2e3a31e9fcf8a9503f5a37c1f85

ALSA: pcm: add snd_pcm_hw_rule_noresample()

Add a helper function to allow drivers to disable hardware resampling
when the application has specified the SNDRV_PCM_HW_PARAMS_NORESAMPLE
flag.

Refer to commit and the three corresponding patch with ymfpci,
emu10k1, via82xx, it seem to be a regression

according to http://www.alsa-project.org/alsa-doc/alsa-lib/group___p_c_m___h_w___params.html


int snd_pcm_hw_params_set_rate_resample  	(  	snd_pcm_t *   	 pcm,
		snd_pcm_hw_params_t *  	params,
		unsigned int  	val	
	) 			

Restrict a configuration space to contain only real hardware rates.

ymfpci and emu10k1 have SNDRV_PCM_RATE_CONTINUOUS and support 8000Hz to 48000Hz


after this patch and if application using
snd_pcm_hw_params_set_rate_resample(,pcm , params ,0)

why the supported rate is only 48000Hz ?


but snd_pcm_hw_params_get_rate_min() is still 8000Hz


This patch won't affect the accuracy of the playback position of the ymfpci

attach a test program which print the the playback position and the result


 ./alsa_test hw:0
Hardware PCM card 0 'Yamaha DS-1 (YMF724F)' device 0 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 2
  rate         : 44100
  exact rate   : 44100 (44100/1)
  msbits       : 16
  buffer_size  : 16383
  period_size  : 5461
  period_time  : 123832
  tstamp_mode  : ENABLE
  period_step  : 1
  avail_min    : 5461
  period_event : 0
  start_threshold  : 1
  stop_threshold   : 16383
  silence_threshold: 0
  silence_size : 0
  boundary     : 2147352576
  appl_ptr     : 0
  hw_ptr       : 0
pcm write 5461
pcm write 5461
pcm write 5461
     0 0
     1 0
     2 0
     3 0
     4 0
     5 0
     6 0
     7 0
     8 0
     9 0
    10 0
    11 235
    12 235
    13 235
    14 235
    15 235
    16 470
    17 470
    18 470
    19 470
    20 470
    21 705
    22 705
    23 705
    24 705
    25 705
    26 940
    27 940
    28 940
    29 940
    30 940
    31 940
    32 1175
    33 1175
    34 1175
    35 1175
    36 1175
    37 1411
    38 1411
    39 1411
    40 1411
    41 1411
    42 1646
    43 1646
    44 1646
    45 1646
    46 1646
    47 1646
    48 1881
    49 1881
    50 1881
    51 1881
    52 1881
    53 2116
    54 2116
    55 2116
    56 2116
    57 2116
    58 2351
    59 2351
    60 2351
    61 2351
    62 2351
    63 2587
    64 2587
    65 2587
    66 2587
    67 2587
    68 2587
    69 2822
    70 2822
    71 2822
    72 2822
    73 2822
    74 3057
    75 3057
    76 3057
    77 3057
    78 3057
    79 3292
    80 3292
    81 3292
    82 3292
    83 3292
    84 3527
    85 3527
    86 3527
    87 3527
    88 3527
    89 3527
    90 3763
    91 3763
    92 3763
    93 3763
    94 3763
    95 3998
    96 3998
    97 3998
    98 3998
    99 3998
   100 4233
   101 4233
   102 4233
   103 4233
   104 4233
   105 4233
   106 4468
   107 4468
   108 4468
   109 4468
   110 4468
   111 4703
   112 4703
   113 4703
   114 4703
   115 4703
   116 4939
   117 4939
   118 4939
   119 4939
   120 4939
   121 5174
   122 5174
   123 5174
   124 5174
   125 5174
   126 5174
   127 5409
   128 5409
   129 5409
   130 5409
   131 5409
   132 5644
   133 5644
   134 5644
   135 5644
   136 5644
   137 5879
   138 5879
   139 5879
   140 5879
   141 5879
   142 6115
   143 6115
   144 6115
   145 6115
   146 6115
   147 6115
   148 6350
   149 6350
   150 6350
   151 6350
   152 6350
   153 6585
   154 6585
   155 6585
   156 6585
   157 6585
   158 6820
   159 6820
   160 6820
   161 6820
   162 6820
   163 6820
   164 7055
   165 7055
   166 7055
   167 7055
   168 7055
   169 7291
   170 7291
   171 7291
   172 7291
   173 7291
   174 7526
   175 7526
   176 7526
   177 7526
   178 7526
   179 7761
   180 7761
   181 7761
   182 7761
   183 7761
   184 7761
   185 7996
   186 7996
   187 7996
   188 7996
   189 7996
   190 8231
   191 8231
   192 8231
   193 8231
   194 8231
   195 8467
   196 8467
   197 8467
   198 8467
   199 8467
   200 8702
   201 8702
   202 8702
   203 8702
   204 8702
   205 8702
   206 8937
   207 8937
   208 8937
   209 8937
   210 8937
   211 9172
   212 9172
   213 9172
   214 9172
   215 9172
   216 9407
   217 9407
   218 9407
   219 9407
   220 9407
   221 9407
   222 9643
   223 9643
   224 9643
   225 9643
   226 9643
   227 9878
   228 9878
   229 9878
   230 9878
   231 9878
   232 10113
   233 10113
   234 10113
   235 10113
   236 10113
   237 10348
   238 10348
   239 10348
   240 10348
   241 10348
   242 10348
   243 10583
   244 10583
   245 10583
   246 10583
   247 10583
   248 10819
   249 10819
   250 10819
   251 10819
   252 10819
   253 11054
   254 11054
   255 11054
   256 11054
   257 11054
   258 11289
   259 11289
   260 11289
   261 11289
   262 11289
   263 11289
   264 11524
   265 11524
   266 11524
   267 11524
   268 11524
   269 11759
   270 11759
   271 11759
   272 11759
   273 11759
   274 11995
   275 11995
   276 11995
   277 11995
   278 11995
   279 11995
   280 12230
   281 12230
   282 12230
   283 12230
   284 12230
   285 12465
   286 12465
   287 12465
   288 12465
   289 12465
   290 12700
   291 12700
   292 12700
   293 12700
   294 12700
   295 12935
   296 12935
   297 12935
   298 12935
   299 12935
   300 12935
   301 13171
   302 13171
   303 13171
   304 13171
   305 13171
   306 13406
   307 13406
   308 13406
   309 13406
   310 13406
   311 13641
   312 13641
   313 13641
   314 13641
   315 13641
   316 13876
   317 13876
   318 13876
   319 13876
   320 13876
   321 13876
   322 14111
   323 14111
   324 14111
   325 14111
   326 14111
   327 14347
   328 14347
   329 14347
   330 14347
   331 14347
   332 14582
   333 14582
   334 14582
   335 14582
   336 14582
   337 14582
   338 14817
   339 14817
   340 14817
   341 14817
   342 14817
   343 15052
   344 15052
   345 15052
   346 15052
   347 15052
   348 15287
   349 15287
   350 15287
   351 15287
   352 15287
   353 15523
   354 15523
   355 15523
   356 15523
   357 15523
   358 15523
   359 15758
   360 15758
   361 15758
   362 15758
   363 15758
   364 15993
   365 15993
   366 15993
   367 15993
   368 15993
   369 16228
   370 16228
   371 16228
   372 16228
   373 16228
   374 -32
-------------- next part --------------
A non-text attachment was scrubbed...
Name: alsa_test.c
Type: text/x-csrc
Size: 4133 bytes
Desc: not available
Url : http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20110920/1143b8cb/attachment.c 


More information about the Alsa-devel mailing list