diff options
Diffstat (limited to 'Src/replicant/http/HTTPPlaybackService.cpp')
-rw-r--r-- | Src/replicant/http/HTTPPlaybackService.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Src/replicant/http/HTTPPlaybackService.cpp b/Src/replicant/http/HTTPPlaybackService.cpp new file mode 100644 index 00000000..cd4d5c76 --- /dev/null +++ b/Src/replicant/http/HTTPPlaybackService.cpp @@ -0,0 +1,28 @@ +#include "HTTPPlaybackService.h" +#include "player/ifc_player.h" +#include "player/ifc_playback.h" +#include "HTTPPlayback.h" +#include "nx/nxpath.h" +#include "nswasabi/ReferenceCounted.h" + +int HTTPPlaybackService::PlaybackService_CreatePlayback(unsigned int pass, nx_uri_t filename, ifc_player *player, ifc_playback **out_playback_object) +{ + if (NXPathProtocol(filename, "http") == NErr_Success) + { + HTTPPlayback *http_playback = new ReferenceCounted<HTTPPlayback>; + if (!http_playback) + return NErr_OutOfMemory; + + int ret = http_playback->Initialize(filename, player); + if (ret != NErr_Success) + { + http_playback->ifc_playback::Release(); + return ret; + } + + *out_playback_object = http_playback; + return NErr_Success; + } + return NErr_False; +} + |