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 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
(...skipping 17 matching lines...) Expand all Loading... |
28 #include "platform/audio/AudioDelayDSPKernel.h" | 28 #include "platform/audio/AudioDelayDSPKernel.h" |
29 #include "platform/audio/FFTConvolver.h" | 29 #include "platform/audio/FFTConvolver.h" |
30 #include "platform/audio/HRTFDatabaseLoader.h" | 30 #include "platform/audio/HRTFDatabaseLoader.h" |
31 #include "platform/audio/Panner.h" | 31 #include "platform/audio/Panner.h" |
32 | 32 |
33 namespace blink { | 33 namespace blink { |
34 | 34 |
35 class PLATFORM_EXPORT HRTFPanner final : public Panner { | 35 class PLATFORM_EXPORT HRTFPanner final : public Panner { |
36 public: | 36 public: |
37 HRTFPanner(float sampleRate, HRTFDatabaseLoader*); | 37 HRTFPanner(float sampleRate, HRTFDatabaseLoader*); |
38 virtual ~HRTFPanner(); | 38 ~HRTFPanner() override; |
39 | 39 |
40 // Panner | 40 // Panner |
41 virtual void pan(double azimuth, double elevation, const AudioBus* inputBus,
AudioBus* outputBus, size_t framesToProcess) override; | 41 void pan(double azimuth, double elevation, const AudioBus* inputBus, AudioBu
s* outputBus, size_t framesToProcess) override; |
42 virtual void reset() override; | 42 void reset() override; |
43 | 43 |
44 size_t fftSize() const { return fftSizeForSampleRate(m_sampleRate); } | 44 size_t fftSize() const { return fftSizeForSampleRate(m_sampleRate); } |
45 static size_t fftSizeForSampleRate(float sampleRate); | 45 static size_t fftSizeForSampleRate(float sampleRate); |
46 | 46 |
47 float sampleRate() const { return m_sampleRate; } | 47 float sampleRate() const { return m_sampleRate; } |
48 | 48 |
49 virtual double tailTime() const override; | 49 double tailTime() const override; |
50 virtual double latencyTime() const override; | 50 double latencyTime() const override; |
51 | 51 |
52 private: | 52 private: |
53 // Given an azimuth angle in the range -180 -> +180, returns the correspondi
ng azimuth index for the database, | 53 // Given an azimuth angle in the range -180 -> +180, returns the correspondi
ng azimuth index for the database, |
54 // and azimuthBlend which is an interpolation value from 0 -> 1. | 54 // and azimuthBlend which is an interpolation value from 0 -> 1. |
55 int calculateDesiredAzimuthIndexAndBlend(double azimuth, double& azimuthBlen
d); | 55 int calculateDesiredAzimuthIndexAndBlend(double azimuth, double& azimuthBlen
d); |
56 | 56 |
57 RefPtr<HRTFDatabaseLoader> m_databaseLoader; | 57 RefPtr<HRTFDatabaseLoader> m_databaseLoader; |
58 | 58 |
59 float m_sampleRate; | 59 float m_sampleRate; |
60 | 60 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 | 100 |
101 AudioFloatArray m_tempL1; | 101 AudioFloatArray m_tempL1; |
102 AudioFloatArray m_tempR1; | 102 AudioFloatArray m_tempR1; |
103 AudioFloatArray m_tempL2; | 103 AudioFloatArray m_tempL2; |
104 AudioFloatArray m_tempR2; | 104 AudioFloatArray m_tempR2; |
105 }; | 105 }; |
106 | 106 |
107 } // namespace blink | 107 } // namespace blink |
108 | 108 |
109 #endif // HRTFPanner_h | 109 #endif // HRTFPanner_h |
OLD | NEW |