1/*
2 *  Copyright (C) 2011 Igalia S.L
3 *
4 *  This library is free software; you can redistribute it and/or
5 *  modify it under the terms of the GNU Lesser General Public
6 *  License as published by the Free Software Foundation; either
7 *  version 2 of the License, or (at your option) any later version.
8 *
9 *  This library is distributed in the hope that it will be useful,
10 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
11 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 *  Lesser General Public License for more details.
13 *
14 *  You should have received a copy of the GNU Lesser General Public
15 *  License along with this library; if not, write to the Free Software
16 *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
17 */
18
19#include "config.h"
20
21#if ENABLE(WEB_AUDIO)
22
23#include "AudioBus.h"
24
25#include "AudioFileReader.h"
26#include "FileSystem.h"
27
28#include <wtf/gobject/GOwnPtr.h>
29#include <wtf/text/CString.h>
30
31#include <glib.h>
32
33namespace WebCore {
34
35PassRefPtr<AudioBus> AudioBus::loadPlatformResource(const char* name, float sampleRate)
36{
37    GOwnPtr<gchar> filename(g_strdup_printf("%s.wav", name));
38    const char* environmentPath = getenv("AUDIO_RESOURCES_PATH");
39    GOwnPtr<gchar> absoluteFilename;
40    if (environmentPath)
41        absoluteFilename.set(g_build_filename(environmentPath, filename.get(), NULL));
42    else
43        absoluteFilename.set(g_build_filename(sharedResourcesPath().data(), "resources", "audio", filename.get(), NULL));
44    return createBusFromAudioFile(absoluteFilename.get(), false, sampleRate);
45}
46
47} // namespace WebCore
48
49#endif // ENABLE(WEB_AUDIO)
50