1 /* 2 * Copyright 2019, Dario Casalinuovo. All rights reserved. 3 * Distributed under the terms of the MIT License. 4 */ 5 6 7 #include "DVDStreamerPlugin.h" 8 9 10 B_DECLARE_CODEC_KIT_PLUGIN( 11 DVDStreamerPlugin, 12 "dvd_streamer", 13 B_CODEC_KIT_PLUGIN_VERSION 14 ); 15 16 17 DVDStreamer::DVDStreamer() 18 : 19 BStreamer(), 20 fAdapter(NULL) 21 { 22 } 23 24 25 DVDStreamer::~DVDStreamer() 26 { 27 } 28 29 30 status_t 31 DVDStreamer::Sniff(const BUrl& url, BDataIO** source) 32 { 33 BString path = url.UrlString(); 34 BString protocol = url.Protocol(); 35 if (protocol == "dvd") { 36 path = path.RemoveFirst("dvd://"); 37 } else if (protocol == "file") { 38 path = path.RemoveFirst("file://"); 39 } else 40 return B_UNSUPPORTED; 41 42 DVDMediaIO* adapter = new DVDMediaIO(path); 43 status_t ret = adapter->Open(); 44 if (ret == B_OK) { 45 *source = adapter; 46 return B_OK; 47 } 48 delete adapter; 49 return ret; 50 } 51 52 53 #if 0 54 void 55 DVDStreamer::MouseMoved(uint32 x, uint32 y) 56 { 57 fAdapter->MouseMoved(x, y); 58 } 59 60 61 void 62 DVDStreamer::MouseDown(uint32 x, uint32 y) 63 { 64 fAdapter->MouseDown(x, y); 65 } 66 #endif 67 68 69 Streamer* 70 DVDStreamerPlugin::NewStreamer() 71 { 72 return new DVDStreamer(); 73 } 74 75 76 MediaPlugin* 77 instantiate_plugin() 78 { 79 return new DVDStreamerPlugin(); 80 } 81