ao 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.rdoc +1 -1
- data/example/rawplay.rb +1 -1
- data/ext/audio/device.c +14 -15
- data/ext/audio/exception.c +0 -3
- data/ext/audio/info.c +0 -6
- data/ext/audio/mixer.c +3 -3
- data/ext/audio/option.c +0 -5
- data/ext/audio/output.c +1 -12
- data/ext/audio/thread.c +0 -18
- metadata +7 -8
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 95b55efc78c4e08cecf01300b2498ae7d0167133de4c7b45eda9833096075574
         | 
| 4 | 
            +
              data.tar.gz: c0642596b538bd9369747e314c338d1bca68154edf8d8799cadf346093968047
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 56453a03af111246aad7b0af58fd572f796021ffc006a65cb27cc91b3bb4c2509fd407153b236ac4028ef89ffe597bada7c0f33cae83f016ebb345eb777b8fbd
         | 
| 7 | 
            +
              data.tar.gz: 6d2ef0d6a259de0fad48975ec617a14d0a1fc10e3303d86eb2ab57beebe6d2fb3a98edc02b1b6b93d3f91fdbdce3489e51000c1157e8463bbe352987f5108eb6
         | 
    
        data/README.rdoc
    CHANGED
    
    
    
        data/example/rawplay.rb
    CHANGED
    
    | @@ -12,7 +12,7 @@ require 'audio/output' | |
| 12 12 |  | 
| 13 13 | 
             
            ARGV.each{|file|
         | 
| 14 14 | 
             
              if File.file?(file)
         | 
| 15 | 
            -
                Audio::LiveOutput.new(bits: 16, rate: 44100, channels: 2,
         | 
| 15 | 
            +
                Audio::LiveOutput.new(driver_id: Audio::Info.default_driver_id, bits: 16, rate: 44100, channels: 2,
         | 
| 16 16 | 
             
                                      byte_format: Audio::Info::FMT_LITTLE){|ao|
         | 
| 17 17 | 
             
                  File.open(file){|f|
         | 
| 18 18 | 
             
                    while buffer = f.read(4096)
         | 
    
        data/ext/audio/device.c
    CHANGED
    
    | @@ -97,7 +97,6 @@ raodev_play(VALUE obj, VALUE output_samples) | |
| 97 97 | 
             
             */
         | 
| 98 98 | 
             
            void
         | 
| 99 99 | 
             
            close_device(ao_struct *aos){
         | 
| 100 | 
            -
              int i;
         | 
| 101 100 | 
             
              sample_t *sample;
         | 
| 102 101 |  | 
| 103 102 | 
             
              if (aos->tmode == 1){
         | 
| @@ -113,21 +112,21 @@ close_device(ao_struct *aos){ | |
| 113 112 | 
             
                  free(sample);
         | 
| 114 113 | 
             
                }
         | 
| 115 114 | 
             
                pthread_join(aos->thread, NULL);
         | 
| 116 | 
            -
              } else {
         | 
| 117 | 
            -
                if (aos->device != NULL){
         | 
| 118 | 
            -
                  ao_close(aos->device);
         | 
| 119 | 
            -
                }
         | 
| 120 | 
            -
                if (aos->option != NULL){
         | 
| 121 | 
            -
                  ao_free_options(aos->option);
         | 
| 122 | 
            -
                }
         | 
| 123 | 
            -
                if (aos->format != NULL){
         | 
| 124 | 
            -
                  free_format(aos->format);
         | 
| 125 | 
            -
                }
         | 
| 126 | 
            -
                aos->device = NULL;
         | 
| 127 | 
            -
                aos->option = NULL;
         | 
| 128 | 
            -
                aos->format = NULL;
         | 
| 129 | 
            -
                aos->queue  = NULL;
         | 
| 130 115 | 
             
              }
         | 
| 116 | 
            +
             | 
| 117 | 
            +
              if (aos->device != NULL){
         | 
| 118 | 
            +
                ao_close(aos->device);
         | 
| 119 | 
            +
              }
         | 
| 120 | 
            +
              if (aos->option != NULL){
         | 
| 121 | 
            +
                ao_free_options(aos->option);
         | 
| 122 | 
            +
              }
         | 
| 123 | 
            +
              if (aos->format != NULL){
         | 
| 124 | 
            +
                free_format(aos->format);
         | 
| 125 | 
            +
              }
         | 
| 126 | 
            +
              aos->device = NULL;
         | 
| 127 | 
            +
              aos->option = NULL;
         | 
| 128 | 
            +
              aos->format = NULL;
         | 
| 129 | 
            +
              aos->queue  = NULL;
         | 
| 131 130 | 
             
              return;
         | 
| 132 131 | 
             
            }
         | 
| 133 132 |  | 
    
        data/ext/audio/exception.c
    CHANGED
    
    
    
        data/ext/audio/info.c
    CHANGED
    
    
    
        data/ext/audio/mixer.c
    CHANGED
    
    | @@ -9,7 +9,7 @@ int | |
| 9 9 | 
             
            mix_sample_8(sample_t **samples,  sample_t *ret, int chs){
         | 
| 10 10 | 
             
              int32_t sum;
         | 
| 11 11 | 
             
              int ch;
         | 
| 12 | 
            -
               | 
| 12 | 
            +
              uint32_t pos;
         | 
| 13 13 | 
             
              int8_t *buffer;
         | 
| 14 14 | 
             
              int8_t *src;
         | 
| 15 15 |  | 
| @@ -31,7 +31,7 @@ int | |
| 31 31 | 
             
            mix_sample_16(sample_t **samples, sample_t *ret, int chs){
         | 
| 32 32 | 
             
              int32_t sum;
         | 
| 33 33 | 
             
              int ch;
         | 
| 34 | 
            -
               | 
| 34 | 
            +
              uint32_t pos;
         | 
| 35 35 | 
             
              int16_t *buffer;
         | 
| 36 36 | 
             
              int16_t *src;
         | 
| 37 37 |  | 
| @@ -80,7 +80,7 @@ rao_mix_samples(VALUE obj, VALUE bits, VALUE rsamples){ | |
| 80 80 | 
             
              sample_t ret;
         | 
| 81 81 | 
             
              int stat;
         | 
| 82 82 | 
             
              int chs = 0;
         | 
| 83 | 
            -
               | 
| 83 | 
            +
              uint32_t maxlen = 0;
         | 
| 84 84 |  | 
| 85 85 | 
             
              Check_Type(bits, T_FIXNUM);
         | 
| 86 86 | 
             
              Check_Type(rsamples, T_ARRAY);
         | 
    
        data/ext/audio/option.c
    CHANGED
    
    | @@ -4,10 +4,6 @@ | |
| 4 4 | 
             
            #include <errno.h>
         | 
| 5 5 | 
             
            #include "cao.h"
         | 
| 6 6 |  | 
| 7 | 
            -
            VALUE cAudio;
         | 
| 8 | 
            -
            VALUE cAO_Info;
         | 
| 9 | 
            -
            VALUE cAO_eUnknownError;
         | 
| 10 | 
            -
             | 
| 11 7 | 
             
            /*
         | 
| 12 8 | 
             
              引数に設定されたサンプルフォーマットをao_sample_format構造体に設定する。
         | 
| 13 9 | 
             
              成功したらao_sample_format構造体へのポインタを返す。
         | 
| @@ -17,7 +13,6 @@ set_format(VALUE bits, VALUE rate, VALUE channels, | |
| 17 13 | 
             
            	   VALUE byte_format, VALUE matrix)
         | 
| 18 14 | 
             
            {
         | 
| 19 15 | 
             
              ao_sample_format *format;
         | 
| 20 | 
            -
              size_t len;
         | 
| 21 16 |  | 
| 22 17 | 
             
              if ((format = malloc(sizeof(ao_sample_format))) == NULL){
         | 
| 23 18 | 
             
                rb_raise(cAO_eUnknownError, "memory allocation failure.");
         | 
    
        data/ext/audio/output.c
    CHANGED
    
    | @@ -4,21 +4,10 @@ | |
| 4 4 | 
             
            #include <errno.h>
         | 
| 5 5 | 
             
            #include "cao.h"
         | 
| 6 6 |  | 
| 7 | 
            -
            VALUE cAudio;
         | 
| 8 7 | 
             
            VALUE cAO_Live;
         | 
| 9 8 | 
             
            VALUE cAO_File;
         | 
| 10 | 
            -
            VALUE cAO_Info;
         | 
| 11 9 | 
             
            VALUE cAO_Mixer;
         | 
| 12 10 | 
             
            VALUE cAO_DeviceData;
         | 
| 13 | 
            -
            VALUE cAO_eAOError;
         | 
| 14 | 
            -
            VALUE cAO_eDeviceError;
         | 
| 15 | 
            -
            VALUE cAO_eUnknownError;
         | 
| 16 | 
            -
             | 
| 17 | 
            -
            VALUE cAO_eNoDriver;
         | 
| 18 | 
            -
            VALUE cAO_eNotFile;
         | 
| 19 | 
            -
            VALUE cAO_eNotLive;
         | 
| 20 | 
            -
            VALUE cAO_eBadOption;
         | 
| 21 | 
            -
            VALUE cAO_eDriverError;
         | 
| 22 11 |  | 
| 23 12 | 
             
            VALUE
         | 
| 24 13 | 
             
            rao_close(VALUE obj)
         | 
| @@ -82,7 +71,7 @@ Init_outputc(void) | |
| 82 71 | 
             
               * 開いたデバイスに関する基本的な情報を保持するクラス。
         | 
| 83 72 | 
             
               * ruby側から操作はしない。
         | 
| 84 73 | 
             
               */
         | 
| 85 | 
            -
              cAO_DeviceData = rb_define_class_under(cAO_Live, "DeviceData",  | 
| 74 | 
            +
              cAO_DeviceData = rb_define_class_under(cAO_Live, "DeviceData", rb_cObject);
         | 
| 86 75 |  | 
| 87 76 | 
             
              /* library initialize & shutdown */
         | 
| 88 77 | 
             
              rb_define_private_method(cAO_Live, "initialize", rao_open_live, 8);
         | 
    
        data/ext/audio/thread.c
    CHANGED
    
    | @@ -12,7 +12,6 @@ | |
| 12 12 |  | 
| 13 13 | 
             
            void *
         | 
| 14 14 | 
             
            thread_player(void *val){
         | 
| 15 | 
            -
              queue res;
         | 
| 16 15 | 
             
              ao_struct *aos = val;
         | 
| 17 16 | 
             
              sample_t *sample;
         | 
| 18 17 | 
             
              struct timespec tout = {0, 1000000};
         | 
| @@ -52,23 +51,6 @@ thread_player(void *val){ | |
| 52 51 | 
             
                assert(pthread_mutex_unlock(&aos->mutex) == 0);
         | 
| 53 52 | 
             
              }
         | 
| 54 53 |  | 
| 55 | 
            -
              while ((sample = dequeue(aos)) != NULL){
         | 
| 56 | 
            -
                free(sample->buffer);
         | 
| 57 | 
            -
                free(sample);
         | 
| 58 | 
            -
              }
         | 
| 59 | 
            -
              if (aos->device != NULL){
         | 
| 60 | 
            -
                ao_close(aos->device);
         | 
| 61 | 
            -
              }
         | 
| 62 | 
            -
              if (aos->option != NULL){
         | 
| 63 | 
            -
                ao_free_options(aos->option);
         | 
| 64 | 
            -
              }
         | 
| 65 | 
            -
              if (aos->format != NULL){
         | 
| 66 | 
            -
                free_format(aos->format);
         | 
| 67 | 
            -
              }
         | 
| 68 | 
            -
              aos->device = NULL;
         | 
| 69 | 
            -
              aos->option = NULL;
         | 
| 70 | 
            -
              aos->format = NULL;
         | 
| 71 | 
            -
              aos->queue  = NULL;
         | 
| 72 54 | 
             
              assert(pthread_mutex_lock(&aos->mutex) == 0);
         | 
| 73 55 | 
             
              aos->status = -1;
         | 
| 74 56 | 
             
              assert(pthread_mutex_unlock(&aos->mutex) == 0);
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: ao
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.1. | 
| 4 | 
            +
              version: 0.1.5
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Akito Miura
         | 
| 8 | 
            -
            autorequire: | 
| 8 | 
            +
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2022-06-06 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies: []
         | 
| 13 13 | 
             
            description: simple & cross platform audio output library(libao binding http://http://xiph.org/ao/)
         | 
| 14 14 | 
             
            email: phenomer@g.hachune.net
         | 
| @@ -59,7 +59,7 @@ homepage: http://bitbucket.org/phenomer/ruby-ao | |
| 59 59 | 
             
            licenses:
         | 
| 60 60 | 
             
            - MIT
         | 
| 61 61 | 
             
            metadata: {}
         | 
| 62 | 
            -
            post_install_message: | 
| 62 | 
            +
            post_install_message:
         | 
| 63 63 | 
             
            rdoc_options:
         | 
| 64 64 | 
             
            - "-m README.rdoc"
         | 
| 65 65 | 
             
            require_paths:
         | 
| @@ -68,16 +68,15 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 68 68 | 
             
              requirements:
         | 
| 69 69 | 
             
              - - ">="
         | 
| 70 70 | 
             
                - !ruby/object:Gem::Version
         | 
| 71 | 
            -
                  version: 2. | 
| 71 | 
            +
                  version: 2.7.0
         | 
| 72 72 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 73 73 | 
             
              requirements:
         | 
| 74 74 | 
             
              - - ">="
         | 
| 75 75 | 
             
                - !ruby/object:Gem::Version
         | 
| 76 76 | 
             
                  version: '0'
         | 
| 77 77 | 
             
            requirements: []
         | 
| 78 | 
            -
             | 
| 79 | 
            -
             | 
| 80 | 
            -
            signing_key: 
         | 
| 78 | 
            +
            rubygems_version: 3.3.3
         | 
| 79 | 
            +
            signing_key:
         | 
| 81 80 | 
             
            specification_version: 4
         | 
| 82 81 | 
             
            summary: simple & cross platform audio output library
         | 
| 83 82 | 
             
            test_files: []
         |