Files
lms/remote/server/MediaRequestHandler.hpp
T

41 lines
1019 B
C++

#ifndef REMOTE_MEDIA_REQUEST_HANDLER
#define REMOTE_MEDIA_REQUEST_HANDLER
#include <memory>
#include "messages/media.pb.h"
#include "database/DatabaseHandler.hpp"
#include "transcode/AvConvTranscoder.hpp"
namespace Remote {
namespace Server {
class MediaRequestHandler
{
public:
MediaRequestHandler(Database::Handler& db);
bool process(const MediaRequest& request, MediaResponse& response);
private:
bool processAudioPrepare(const MediaRequest::Prepare::Audio& request, MediaResponse& response);
bool processGetPart(const MediaRequest::GetPart& request, MediaResponse& response);
bool processTerminate(const MediaRequest::Terminate& request, MediaResponse& response);
// bool processVideoPrepare(const AudioCollectionRequest::GetGenreList& request, AudioCollectionResponse::GenreList& response);
std::shared_ptr<Transcode::AvConvTranscoder> _transcoder;
Database::Handler& _db;
static const std::size_t _maxPartSize = 65536 - 128;
};
} // namespace Remote
} // namespace Server
#endif