static JSBool js_canHandle(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { const char *str; if (!JS_ConvertArguments(cx, argc, argv, "s", &str)) return JS_FALSE; *rval = BOOLEAN_TO_JSVAL(!!backend_canhandle(str)); return JS_TRUE; }
event_t * backend_play_audio(const char *url, struct media_pipe *mp, char *errbuf, size_t errlen, int paused, const char *mimetype) { backend_t *nb = backend_canhandle(url); if(nb == NULL || nb->be_play_audio == NULL) { snprintf(errbuf, errlen, "No backend for URL"); return NULL; } return nb->be_play_audio(url, mp, errbuf, errlen, paused, mimetype); }
event_t * backend_play_video(const char *url, struct media_pipe *mp, char *errbuf, size_t errlen, video_queue_t *vq, struct vsource_list *vsl, const video_args_t *va) { backend_t *nb = backend_canhandle(url); if(nb == NULL || nb->be_play_video == NULL) { snprintf(errbuf, errlen, "No backend for URL"); return NULL; } return nb->be_play_video(url, mp, errbuf, errlen, vq, vsl, va); }
event_t * backend_play_video(const char *url, struct media_pipe *mp, int flags, int priority, char *errbuf, size_t errlen, const char *mimetype, const char *canonical_url) { backend_t *nb = backend_canhandle(url); if(nb == NULL || nb->be_play_video == NULL) { snprintf(errbuf, errlen, "No backend for URL"); return NULL; } return nb->be_play_video(url, mp, flags, priority, errbuf, errlen, mimetype, canonical_url); }