Bug 805254. Part 11: Move Vorbis-specific definitons into a new file VorbisUtils.h. r=kinetik

This commit is contained in:
Robert O'Callahan 2012-10-25 23:09:41 +13:00
parent b80c14bd5b
commit ac69d1579a
5 changed files with 30 additions and 17 deletions

View File

@ -34,6 +34,7 @@ EXPORTS = \
VideoFrameContainer.h \
VideoUtils.h \
VideoSegment.h \
VorbisUtils.h \
$(NULL)
CPPSRCS = \

View File

@ -0,0 +1,27 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim:set ts=2 sw=2 sts=2 et cindent: */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef VORBISUTILS_H_
#define VORBISUTILS_H_
#ifdef MOZ_SAMPLE_TYPE_S16
#include <ogg/os_types.h>
typedef ogg_int32_t VorbisPCMValue;
#define MOZ_CLIP_TO_15(x) ((x)<-32768?-32768:(x)<=32767?(x):32767)
// Convert the output of vorbis_synthesis_pcmout to a AudioDataValue
#define MOZ_CONVERT_VORBIS_SAMPLE(x) \
(static_cast<AudioDataValue>(MOZ_CLIP_TO_15((x)>>9)))
#else /* MOZ_SAMPLE_TYPE_FLOAT32 */
typedef float VorbisPCMValue;
#define MOZ_CONVERT_VORBIS_SAMPLE(x) (x)
#endif
#endif /* VORBISUTILS_H_ */

View File

@ -54,23 +54,6 @@ public:
bool mHasVideo;
};
#ifdef MOZ_SAMPLE_TYPE_S16
#include <ogg/os_types.h>
typedef ogg_int32_t VorbisPCMValue;
#define MOZ_CLIP_TO_15(x) ((x)<-32768?-32768:(x)<=32767?(x):32767)
// Convert the output of vorbis_synthesis_pcmout to a AudioDataValue
#define MOZ_CONVERT_VORBIS_SAMPLE(x) \
(static_cast<AudioDataValue>(MOZ_CLIP_TO_15((x)>>9)))
#else /* MOZ_SAMPLE_TYPE_FLOAT32 */
typedef float VorbisPCMValue;
#define MOZ_CONVERT_VORBIS_SAMPLE(x) (x)
#endif
// Holds chunk a decoded audio frames.
class AudioData {
public:

View File

@ -17,6 +17,7 @@ extern "C" {
#endif
#include "nsTimeRanges.h"
#include "mozilla/TimeStamp.h"
#include "VorbisUtils.h"
using namespace mozilla;

View File

@ -11,6 +11,7 @@
#include "nsWebMBufferedParser.h"
#include "VideoUtils.h"
#include "nsTimeRanges.h"
#include "VorbisUtils.h"
#define VPX_DONT_DEFINE_STDINT_TYPES
#include "vpx/vp8dx.h"