Changeset 3822:8f188597badf in roaraudio


Ignore:
Timestamp:
05/11/10 14:40:27 (14 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added functions to convert audio info into bits per whatever

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • include/libroar/stream.h

    r3789 r3822  
    158158char * roar_role2str  (int    role); 
    159159 
     160ssize_t roar_info2samplesize (struct roar_audio_info * info); 
     161ssize_t roar_info2framesize  (struct roar_audio_info * info); 
     162ssize_t roar_info2bitspersec (struct roar_audio_info * info); 
     163 
    160164#endif 
    161165 
  • libroar/stream.c

    r3811 r3822  
    934934} 
    935935 
     936ssize_t roar_info2samplesize (struct roar_audio_info * info) { 
     937 if ( info == NULL ) 
     938  return -1; 
     939 
     940 switch (info->codec) { 
     941  case ROAR_CODEC_PCM_S_LE: 
     942  case ROAR_CODEC_PCM_S_BE: 
     943  case ROAR_CODEC_PCM_S_PDP: 
     944  case ROAR_CODEC_PCM_U_LE: 
     945  case ROAR_CODEC_PCM_U_BE: 
     946  case ROAR_CODEC_PCM_U_PDP: 
     947    return info->bits; 
     948   break; 
     949  case ROAR_CODEC_ALAW: 
     950  case ROAR_CODEC_MULAW: 
     951    return 8; 
     952   break; 
     953  case ROAR_CODEC_DMX512: 
     954    return 8; 
     955   break; 
     956  case ROAR_CODEC_RDS: 
     957    return 26; 
     958   break; 
     959  default: 
     960    return -1; 
     961   break; 
     962 } 
     963} 
     964 
     965ssize_t roar_info2framesize  (struct roar_audio_info * info) { 
     966 ssize_t ret = roar_info2samplesize(info); 
     967 
     968 if ( ret == -1 ) 
     969  return -1; 
     970 
     971 ret *= info->channels; 
     972 
     973 return ret; 
     974} 
     975 
     976ssize_t roar_info2bitspersec(struct roar_audio_info * info) { 
     977 ssize_t ret = roar_info2samplesize(info); 
     978 
     979 if ( ret == -1 ) 
     980  return -1; 
     981 
     982 ret *= info->channels * info->rate; 
     983 
     984 return ret; 
     985} 
     986 
    936987//ll 
Note: See TracChangeset for help on using the changeset viewer.