@@ -343,16 +343,25 @@ int d7ap_fs_read_access_class(uint8_t access_class_index, dae_access_profile_t *
343
343
{
344
344
assert (access_class_index < 15 );
345
345
assert (is_file_defined (D7A_FILE_ACCESS_PROFILE_ID + access_class_index ));
346
- return (d7ap_fs_read_file (D7A_FILE_ACCESS_PROFILE_ID + access_class_index , 0 ,
347
- (uint8_t * )access_class , D7A_FILE_ACCESS_PROFILE_SIZE ));
346
+ int result = d7ap_fs_read_file (D7A_FILE_ACCESS_PROFILE_ID + access_class_index , 0 , (uint8_t * )access_class , D7A_FILE_ACCESS_PROFILE_SIZE );
347
+ for (int i = 0 ; i < SUBBANDS_NB ; i ++ ) {
348
+ access_class -> subbands [i ].channel_index_start = __builtin_bswap16 (access_class -> subbands [i ].channel_index_start );
349
+ access_class -> subbands [i ].channel_index_end = __builtin_bswap16 (access_class -> subbands [i ].channel_index_end );
350
+ }
351
+ return result ;
348
352
}
349
353
350
354
int d7ap_fs_write_access_class (uint8_t access_class_index , dae_access_profile_t * access_class )
351
355
{
352
356
assert (access_class_index < 15 );
353
357
assert (is_file_defined (D7A_FILE_ACCESS_PROFILE_ID + access_class_index ));
354
- return (d7ap_fs_write_file (D7A_FILE_ACCESS_PROFILE_ID + access_class_index , 0 ,
355
- (uint8_t * )access_class , D7A_FILE_ACCESS_PROFILE_SIZE ));
358
+ dae_access_profile_t * temp_access_class ;
359
+ memcpy (& temp_access_class , & access_class , sizeof (dae_access_profile_t ));
360
+ for (int i = 0 ; i < SUBBANDS_NB ; i ++ ) {
361
+ temp_access_class -> subbands [i ].channel_index_start = __builtin_bswap16 (temp_access_class -> subbands [i ].channel_index_start );
362
+ temp_access_class -> subbands [i ].channel_index_end = __builtin_bswap16 (temp_access_class -> subbands [i ].channel_index_end );
363
+ }
364
+ return d7ap_fs_write_file (D7A_FILE_ACCESS_PROFILE_ID + access_class_index , 0 , (uint8_t * )temp_access_class , D7A_FILE_ACCESS_PROFILE_SIZE );
356
365
}
357
366
358
367
uint8_t d7ap_fs_read_dll_conf_active_access_class ()
0 commit comments