MCPcopy Create free account
hub / github.com/alibaba/CicadaPlayer / main

Function main

cmdline/example/syncPlayer.cpp:217–308  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

215 }
216}
217int main(int argc, const char **argv)
218{
219 string url;
220 bool connected = false;
221 bool bMaster = true;
222 if (argc > 2) {
223 bMaster = false;
224 }
225 if (bMaster) {
226 AF_LOGW("master");
227 }
228
229 if (argc > 1) {
230 url = argv[1];
231 } else {
232 url = "http://player.alicdn.com/video/aliyunmedia.mp4";
233 }
234
235 log_enable_color(1);
236 log_set_level(AF_LOG_LEVEL_WARNING, 1);
237 cicadaCont cicada{};
238#ifdef ENABLE_SDL
239 SDL_Init(SDL_INIT_VIDEO);
240#endif
241 cicada.bMaster = bMaster;
242 createPlayer(cicada, url);
243 unique_ptr<messageClient> client{};
244 unique_ptr<messageServer> server{};
245
246 syncServerListener syncListener(&cicada);
247
248 if (bMaster) {
249 cicada.player->SetAutoPlay(true);
250 // player->SetLoop(true);
251 server = static_cast<unique_ptr<messageServer>>(new messageServer(&syncListener));
252 server->init();
253 cicada.server = server.get();
254 } else {
255 cicada.player->SetStreamTypeFlags(VIDEO_FLAG);
256 cicada.player->SetClockRefer(getMasterClock, &cicada);
257 client = static_cast<unique_ptr<messageClient>>(new messageClient());
258 int ret = client->connect(serverIp);
259 if (ret >= 0) {
260 connected = true;
261 }
262 }
263#ifdef ENABLE_SDL
264 syncPlayerEventListener eListener(cicada.player.get(), server.get(), cicada.window);
265 SDLEventReceiver receiver(eListener);
266#else
267 syncPlayerEventListener eListener(cicada.player.get(), server.get(), nullptr);
268#endif
269 NetWorkEventReceiver netWorkEventReceiver(eListener);
270
271 cicada.player->SelectTrack(-1);
272
273
274 bool quite = false;

Callers

nothing calls this directly

Calls 15

log_enable_colorFunction · 0.85
log_set_levelFunction · 0.85
createPlayerFunction · 0.85
process_client_msgFunction · 0.85
af_msleepFunction · 0.85
SetStreamTypeFlagsMethod · 0.80
SetClockReferMethod · 0.80
SelectTrackMethod · 0.80
SetAutoPlayMethod · 0.45
initMethod · 0.45
getMethod · 0.45
connectMethod · 0.45

Tested by

no test coverage detected