#include #include #include #include #include #include #include #include #include using namespace std; class Player{ public: Player(); ~Player(); CURL *curl; CURLcode res; QMainWindow *window; QFrame *videoWidget; QLabel *label; libvlc_instance_t * inst; libvlc_media_player_t *mp; libvlc_media_t *m; private: sender_holen(); play(void); }; Player::Player(){ cout << "starte..." << endl; this->sender_holen(); window = new QMainWindow; videoWidget = new QFrame; label = new QLabel("Hello World"); window->resize(1024,576); window->setWindowTitle("vlc-vdr"); window->setCentralWidget(videoWidget); window->setCentralWidget(label); window->show(); this->play(); } Player::~Player(){ cout << "beende..." << endl; } Player::sender_holen(){ curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://192.168.101.9:3000/channels.m3u"); /* example.com is redirected, so we tell libcurl to follow redirection */ curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L); /* Perform the request, res will get the return code */ res = curl_easy_perform(curl); /* Check for errors */ if(res != CURLE_OK) fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res)); /* always cleanup */ curl_easy_cleanup(curl); } return 0; } Player::play(void){ cout << "play..." << endl; /* Load the VLC engine */ inst = libvlc_new (0, NULL); /* Create a new item */ m = libvlc_media_new_location (inst, "http://192.168.101.9:3000/S19.2E-133-33-51"); //m = libvlc_media_new_path (inst, "/path/to/test.mov"); /* Create a media player playing environement */ mp = libvlc_media_player_new_from_media (m); /* No need to keep the media now */ libvlc_media_release (m); #if defined(Q_OS_WIN) // Windows // libvlc_media_player_set_hwnd(mp, (void *)videoWidget->winId()); #elif defined(Q_OS_MAC) // Mac libvlc_media_player_set_nsobject(mp, (void *)videoWidget->winId()); #else //Linux int windid = _videoWidget->winId(); libvlc_media_player_set_xwindow (mp, windid ); #endif /* play the media_player */ libvlc_media_player_play (mp); Sleep(10000); /* Let it play a bit */ /* Stop playing */ libvlc_media_player_stop (mp); /* Free the media_player */ libvlc_media_player_release (mp); libvlc_release (inst); cout << "play...stop" << endl; return 0; } int main(int argc, char* argv[]) { QApplication app(argc, argv); Player a; return app.exec(); }