1/* 2 * Copyright 2017, Dario Casalinuovo 3 * All rights reserved. Distributed under the terms of the MIT license. 4 */ 5 6 7#include "MediaStreamer.h" 8 9#include <stdio.h> 10#include <string.h> 11 12#include "MediaDebug.h" 13 14#include "PluginManager.h" 15 16 17MediaStreamer::MediaStreamer(BUrl url) 18 : 19 fStreamer(NULL) 20{ 21 CALLED(); 22 23 fUrl = url; 24} 25 26 27MediaStreamer::~MediaStreamer() 28{ 29 CALLED(); 30 31 if (fStreamer != NULL) 32 gPluginManager.DestroyStreamer(fStreamer); 33} 34 35 36status_t 37MediaStreamer::CreateAdapter(BDataIO** adapter) 38{ 39 CALLED(); 40 41 // NOTE: Consider splitting the streamer creation and 42 // sniff in PluginManager. 43 if (fStreamer != NULL) 44 gPluginManager.DestroyStreamer(fStreamer); 45 46 return gPluginManager.CreateStreamer(&fStreamer, fUrl, adapter); 47} 48