BuildTools
Qt
Src
Agave
Components
Elevator
Mastering
Plugins
DSP
Encoder
General
Input
in_avi
in_cdda
in_dshow
in_flac
in_flv
in_linein
in_midi
in_mkv
in_mod
in_mod-openmpt
in_mp3
in_mp4
in_nsv
in_swf
in_vorbis
in_wave
in_wmvdrm
output
res_wav
ASXLoader.cpp
ASXLoader.h
AlbumArt.cpp
AlbumArt.h
AllocLayer.cpp
AllocLayer.h
AudioFormat.cpp
AudioFormat.h
AudioLayer.cpp
AudioLayer.h
AudioThread.cpp
AudioThread.h
AutoChar.h
AutoWide.h
BufferLayer.cpp
BufferLayer.h
BufferPool.h
CachedData.h
ClockLayer.cpp
ClockLayer.h
ConfigDialog.cpp
ConfigDialog.h
DESIGN.txt
ExtendedFileInfo.cpp
ExtendedRead.cpp
ExtendedRead.h
FactoryHelper.h
FileInfoDialog.cpp
FileInfoDialog.h
FileTypes.cpp
FileTypes.h
GainLayer.cpp
GainLayer.h
Main.h
MediaThread.cpp
MediaThread.h
MetaTag.cpp
MetaTag.h
MetaTagFactory.cpp
MetaTagFactory.h
OutputStream.h
PlaylistHandler.cpp
PlaylistHandler.h
RawReader.cpp
RawReader.h
Remaining.h
SeekLayer.cpp
SeekLayer.h
StatusHook.cpp
StatusHook.h
TODO.txt
TagAlias.cpp
TagAlias.h
VideoDataConverter.cpp
VideoDataConverter.h
VideoLayer.cpp
VideoLayer.h
VideoOutputChildDDraw.cpp
VideoOutputChildDDraw.h
VideoThread.cpp
VideoThread.h
WMCallback.cpp
WMCallback.h
WMDRMModule.cpp
WMDRMModule.h
WMHandler.cpp
WMHandler.h
WMInformation.cpp
WMInformation.h
WMPlaylist.cpp
WMPlaylist.h
WPLLoader.cpp
WPLLoader.h
WaitLayer.cpp
WaitLayer.h
WinampInterface.cpp
WinampInterface.h
XMLString.cpp
XMLString.h
api.cpp
api.h
config.cpp
config.h
directdraw.cpp
directdraw.h
factory_Handler.cpp
factory_Handler.h
in_wm.rc
in_wmvdrm.sln
in_wmvdrm.vcxproj
in_wmvdrm.vcxproj.filters
loadini.cpp
loadini.h
main.cpp
resource.h
util.cpp
util.h
version.rc2
vid_ddraw.cpp
vid_ddraw.h
vid_overlay.cpp
vid_overlay.h
vidutils.cpp
vidutils.h
in_wv
Library
Output
Portable
SDK
Visualization
ReplayGainAnalysis
WAT
Wasabi
Wasabi2
Winamp
aacPlus
aacdec
aacdec-mft
adpcm
alac
albumart
apev2
auth
bmp
burnlib
codesign
config
devices
external_dependencies
f263
filereader
freetypewac
gif
gracenote
h264
h264dec
id3v2
ie_plugin
installer
jpeg
libvp6
libvpShared
mp3-mpg123
mp4v
mpeg4dec
nde
nprt_plugin
ns-eel
ns-eel2
nsavi
nsmkv
nsutil
nsv
nsvdec_vp3
nsvdec_vp5
nsvdec_vp6
nswasabi
nu
omBrowser
pcm
pfc
playlist
plist
png
replicant
resources
tagz
tataki
theora
timer
vlb
vp32
vp6
vp8x
wbm
winampAll
winampa
xml
xspf
vcpkg-ports
.gitignore
LICENSE.md
README.md
automate-git.py
cef_x86.bat
install-packages.cmd
vcpkg_version_finder.py
winampAll_2019.sln
45 lines
1004 B
C++
45 lines
1004 B
C++
#ifndef NULLSOFT_IN_WMVDRM_AUDIOFORMAT_H
|
|
#define NULLSOFT_IN_WMVDRM_AUDIOFORMAT_H
|
|
|
|
#include <mmreg.h>
|
|
#include <wmsdk.h>
|
|
|
|
class AudioFormat
|
|
{
|
|
public:
|
|
AudioFormat() : waveFormat(0)
|
|
{
|
|
}
|
|
~AudioFormat()
|
|
{
|
|
delete [] waveFormat;
|
|
}
|
|
unsigned long AudioBytesToSamples(unsigned long bytes);
|
|
unsigned long AudioSamplesToBytes(unsigned long samples);
|
|
unsigned long AudioBytesToMilliseconds(unsigned long bytes);
|
|
unsigned long AudioMillisecondsToBytes(DWORD milliseconds);
|
|
unsigned long AudioDurationToBytes(QWORD duration);
|
|
unsigned long AudioSamplesToMilliseconds(unsigned long samples);
|
|
long Channels();
|
|
long ValidBits();
|
|
long BitSize();
|
|
long SampleRate();
|
|
//protected:
|
|
void Open(WM_MEDIA_TYPE *mediaType)
|
|
{
|
|
delete[] waveFormat;
|
|
waveFormat = (WAVEFORMATEXTENSIBLE *) new unsigned char[mediaType->cbFormat];
|
|
memcpy(waveFormat, mediaType->pbFormat, mediaType->cbFormat);
|
|
}
|
|
|
|
void Close()
|
|
{
|
|
delete [] waveFormat;
|
|
waveFormat=0;
|
|
}
|
|
|
|
private:
|
|
WAVEFORMATEXTENSIBLE *waveFormat;
|
|
};
|
|
|
|
#endif |