// Copyright (c) 2010 The WebM project authors. All Rights Reserved.
//
// Use of this source code is governed by a BSD-style license
// that can be found in the LICENSE file in the root of the source
// tree. An additional intellectual property rights grant can be found
// in the file PATENTS.  All contributing project authors may
// be found in the AUTHORS file in the root of the source tree.



#ifndef _WEBMEXPORTGUIAUDIO_H_
#define _WEBMEXPORTGUIAUDIO_H_ 1

ComponentResult getDefaultVorbisAtom(WebMExportGlobalsPtr globals);
ComponentResult OpenVorbisDlg(WebMExportGlobalsPtr globals, WindowRef window);

#endif
