OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 619 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
630 } | 630 } |
631 | 631 |
632 void AudioBus::clearSilentFlag() | 632 void AudioBus::clearSilentFlag() |
633 { | 633 { |
634 for (size_t i = 0; i < m_channels.size(); ++i) | 634 for (size_t i = 0; i < m_channels.size(); ++i) |
635 m_channels[i]->clearSilentFlag(); | 635 m_channels[i]->clearSilentFlag(); |
636 } | 636 } |
637 | 637 |
638 PassRefPtr<AudioBus> decodeAudioFileData(const char* data, size_t size) | 638 PassRefPtr<AudioBus> decodeAudioFileData(const char* data, size_t size) |
639 { | 639 { |
640 blink::WebAudioBus webAudioBus; | 640 WebAudioBus webAudioBus; |
641 if (blink::Platform::current()->loadAudioResource(&webAudioBus, data, size)) | 641 if (Platform::current()->loadAudioResource(&webAudioBus, data, size)) |
642 return webAudioBus.release(); | 642 return webAudioBus.release(); |
643 return nullptr; | 643 return nullptr; |
644 } | 644 } |
645 | 645 |
646 PassRefPtr<AudioBus> AudioBus::loadPlatformResource(const char* name, float samp
leRate) | 646 PassRefPtr<AudioBus> AudioBus::loadPlatformResource(const char* name, float samp
leRate) |
647 { | 647 { |
648 const blink::WebData& resource = blink::Platform::current()->loadResource(na
me); | 648 const WebData& resource = Platform::current()->loadResource(name); |
649 if (resource.isEmpty()) | 649 if (resource.isEmpty()) |
650 return nullptr; | 650 return nullptr; |
651 | 651 |
652 RefPtr<AudioBus> audioBus = decodeAudioFileData(resource.data(), resource.si
ze()); | 652 RefPtr<AudioBus> audioBus = decodeAudioFileData(resource.data(), resource.si
ze()); |
653 | 653 |
654 if (!audioBus.get()) | 654 if (!audioBus.get()) |
655 return nullptr; | 655 return nullptr; |
656 | 656 |
657 // If the bus is already at the requested sample-rate then return as is. | 657 // If the bus is already at the requested sample-rate then return as is. |
658 if (audioBus->sampleRate() == sampleRate) | 658 if (audioBus->sampleRate() == sampleRate) |
(...skipping 11 matching lines...) Expand all Loading... |
670 // If the bus needs no conversion then return as is. | 670 // If the bus needs no conversion then return as is. |
671 if ((!mixToMono || audioBus->numberOfChannels() == 1) && audioBus->sampleRat
e() == sampleRate) | 671 if ((!mixToMono || audioBus->numberOfChannels() == 1) && audioBus->sampleRat
e() == sampleRate) |
672 return audioBus; | 672 return audioBus; |
673 | 673 |
674 return AudioBus::createBySampleRateConverting(audioBus.get(), mixToMono, sam
pleRate); | 674 return AudioBus::createBySampleRateConverting(audioBus.get(), mixToMono, sam
pleRate); |
675 } | 675 } |
676 | 676 |
677 } // namespace blink | 677 } // namespace blink |
678 | 678 |
679 #endif // ENABLE(WEB_AUDIO) | 679 #endif // ENABLE(WEB_AUDIO) |
OLD | NEW |