diff --git a/src/add-ons/media/plugins/musepack/Jamfile b/src/add-ons/media/plugins/musepack/Jamfile new file mode 100644 index 0000000000..5564b2904b --- /dev/null +++ b/src/add-ons/media/plugins/musepack/Jamfile @@ -0,0 +1,15 @@ +SubDir OBOS_TOP src add-ons media plugins musepack ; + +UsePrivateHeaders media ; + +Addon musepack : media plugins : + MusePack.cpp + MusePackReader.cpp + MusePackDecoder.cpp + : false + : libmusepack.a + ; + +LinkSharedOSLibs musepack : be libmedia.so ; + +SubInclude OBOS_TOP src add-ons media plugins musepack mpc ; diff --git a/src/add-ons/media/plugins/musepack/MusePack.cpp b/src/add-ons/media/plugins/musepack/MusePack.cpp new file mode 100644 index 0000000000..dcfc25550c --- /dev/null +++ b/src/add-ons/media/plugins/musepack/MusePack.cpp @@ -0,0 +1,42 @@ +/* +** Copyright 2004, Axel Dörfler, axeld@pinc-software.de. All rights reserved. +** Distributed under the terms of the OpenBeOS License. +*/ + + +#include "MusePack.h" +#include "MusePackReader.h" +#include "MusePackDecoder.h" + +#include +#include + + +Reader * +MusePackPlugin::NewReader() +{ + return new MusePackReader(); +} + +Decoder * +MusePackPlugin::NewDecoder() +{ + return new MusePackDecoder(); +} + +status_t +MusePackPlugin::RegisterPlugin() +{ + PublishDecoder("audiocodec/musepack", "musepack", "musepack decoder"); +} + + +// #pragma mark - + + +MediaPlugin * +instantiate_plugin() +{ + return new MusePackPlugin(); +} + diff --git a/src/add-ons/media/plugins/musepack/MusePack.h b/src/add-ons/media/plugins/musepack/MusePack.h new file mode 100644 index 0000000000..68977030b0 --- /dev/null +++ b/src/add-ons/media/plugins/musepack/MusePack.h @@ -0,0 +1,21 @@ +/* +** Copyright 2004, Axel Dörfler, axeld@pinc-software.de. All rights reserved. +** Distributed under the terms of the OpenBeOS License. +*/ +#ifndef MUSEPACK_PLUGIN_H +#define MUSEPACK_PLUGIN_H + + +#include "ReaderPlugin.h" +#include "DecoderPlugin.h" + + +class MusePackPlugin : public ReaderPlugin, DecoderPlugin { + public: + Reader *NewReader(); + + Decoder *NewDecoder(); + status_t RegisterPlugin(); +}; + +#endif /* MUSEPACK_PLUGIN_H */ diff --git a/src/add-ons/media/plugins/musepack/MusePackDecoder.cpp b/src/add-ons/media/plugins/musepack/MusePackDecoder.cpp new file mode 100644 index 0000000000..782843c811 --- /dev/null +++ b/src/add-ons/media/plugins/musepack/MusePackDecoder.cpp @@ -0,0 +1,45 @@ +/* +** Copyright 2004, Axel Dörfler, axeld@pinc-software.de. All rights reserved. +** Distributed under the terms of the OpenBeOS License. +*/ + + +#include "MusePackDecoder.h" + +#include +#include + + +MusePackDecoder::MusePackDecoder() +{ +} + + +MusePackDecoder::~MusePackDecoder() +{ +} + + +status_t +MusePackDecoder::Setup(media_format *ioEncodedFormat, const void *infoBuffer, int32 infoSize) +{ +} + + +status_t +MusePackDecoder::NegotiateOutputFormat(media_format *ioDecodedFormat) +{ +} + + +status_t +MusePackDecoder::Seek(uint32 seekTo, int64 seekFrame, int64 *frame, bigtime_t seekTime, bigtime_t *time) +{ +} + + +status_t +MusePackDecoder::Decode(void *buffer, int64 *frameCount, media_header *mediaHeader, media_decode_info *info) +{ +} + diff --git a/src/add-ons/media/plugins/musepack/MusePackDecoder.h b/src/add-ons/media/plugins/musepack/MusePackDecoder.h new file mode 100644 index 0000000000..ff1a514fb8 --- /dev/null +++ b/src/add-ons/media/plugins/musepack/MusePackDecoder.h @@ -0,0 +1,32 @@ +/* +** Copyright 2004, Axel Dörfler, axeld@pinc-software.de. All rights reserved. +** Distributed under the terms of the OpenBeOS License. +*/ +#ifndef MUSEPACK_DECODER_H +#define MUSEPACK_DECODER_H + + +#include "DecoderPlugin.h" +#include + + +class MusePackDecoder : public Decoder { + public: + MusePackDecoder(); + ~MusePackDecoder(); + + status_t Setup(media_format *ioEncodedFormat, + const void *infoBuffer, int32 infoSize); + + status_t NegotiateOutputFormat(media_format *ioDecodedFormat); + + status_t Seek(uint32 seekTo, int64 seekFrame, int64 *frame, + bigtime_t seekTime, bigtime_t *time); + + status_t Decode(void *buffer, int64 *frameCount, + media_header *mediaHeader, media_decode_info *info); + + private: +}; + +#endif /* MUSEPACK_DECODER_H */ diff --git a/src/add-ons/media/plugins/musepack/MusePackReader.cpp b/src/add-ons/media/plugins/musepack/MusePackReader.cpp new file mode 100644 index 0000000000..66e1713ff9 --- /dev/null +++ b/src/add-ons/media/plugins/musepack/MusePackReader.cpp @@ -0,0 +1,69 @@ +/* +** Copyright 2004, Axel Dörfler, axeld@pinc-software.de. All rights reserved. +** Distributed under the terms of the OpenBeOS License. +*/ + + +#include "MusePackReader.h" + +#include +#include + + +MusePackReader::MusePackReader() +{ +} + + +MusePackReader::~MusePackReader() +{ +} + + +const char * +MusePackReader::Copyright() +{ +} + + +status_t +MusePackReader::Sniff(int32 *streamCount) +{ +} + + +void +MusePackReader::GetFileFormatInfo(media_file_format *mff) +{ +} + + +status_t +MusePackReader::AllocateCookie(int32 streamNumber, void **cookie) +{ +} + + +status_t +MusePackReader::FreeCookie(void *cookie) +{ +} + + +status_t +MusePackReader::GetStreamInfo(void *cookie, int64 *frameCount, bigtime_t *duration, media_format *format, void **infoBuffer, int32 *infoSize) +{ +} + + +status_t +MusePackReader::Seek(void *cookie, uint32 seekTo, int64 *frame, bigtime_t *time) +{ +} + + +status_t +MusePackReader::GetNextChunk(void *cookie, void **chunkBuffer, int32 *chunkSize, media_header *mediaHeader) +{ +} + diff --git a/src/add-ons/media/plugins/musepack/MusePackReader.h b/src/add-ons/media/plugins/musepack/MusePackReader.h new file mode 100644 index 0000000000..04cb0be5f2 --- /dev/null +++ b/src/add-ons/media/plugins/musepack/MusePackReader.h @@ -0,0 +1,39 @@ +/* +** Copyright 2004, Axel Dörfler, axeld@pinc-software.de. All rights reserved. +** Distributed under the terms of the OpenBeOS License. +*/ +#ifndef MUSEPACK_READER_H +#define MUSEPACK_READER_H + + +#include "ReaderPlugin.h" +#include + + +class MusePackReader : public Reader { + public: + MusePackReader(); + ~MusePackReader(); + + const char *Copyright(); + + status_t Sniff(int32 *streamCount); + + void GetFileFormatInfo(media_file_format *mff); + + status_t AllocateCookie(int32 streamNumber, void **cookie); + status_t FreeCookie(void *cookie); + + status_t GetStreamInfo(void *cookie, int64 *frameCount, bigtime_t *duration, + media_format *format, void **infoBuffer, int32 *infoSize); + + status_t Seek(void *cookie, uint32 seekTo, + int64 *frame, bigtime_t *time); + + status_t GetNextChunk(void *cookie, void **chunkBuffer, int32 *chunkSize, + media_header *mediaHeader); + + private: +}; + +#endif /* MUSEPACK_READER_H */