コード例 #1
0
ファイル: hbbtv_demux.cpp プロジェクト: bigbensk/gpac
u32 DemuxStart(void *par){

	GF_Err e;
	HbbtvDemuxer* hbbtv_demuxer = (HbbtvDemuxer*) par;
	e = TSDemux_Demux_Setup(hbbtv_demuxer->Get_Ts(), hbbtv_demuxer->Get_Input_data(), 0);
	if(e)
	{
		GF_LOG(GF_LOG_DEBUG, GF_LOG_MODULE, ("[HBBTV] Error during TS demux \n"));
	}
	return e;

}
コード例 #2
0
static GF_Err M2TS_ConnectService(GF_InputService *plug, GF_ClientService *serv, const char *url)
{
    GF_Err e;
    const char *opt;
    M2TSIn *m2ts = plug->priv;

    M2TS_GetNetworkType(plug,m2ts);

    m2ts->owner = plug;

    opt = gf_modules_get_option((GF_BaseInterface *)m2ts->owner, "HybRadio", "Activated");
    if (opt && !strcmp(opt, "true")) {
        m2ts->hybrid_on = 1;
    }

    m2ts->service = serv;
    if (m2ts->owner->query_proxy) {
        m2ts->ts->query_next = M2TS_QueryNextFile;
        m2ts->ts->udta_query = m2ts;
    }

    if (!strnicmp(url, "http://", 7)) {
        m2ts->ts->dnload = gf_term_download_new(m2ts->service, url, GF_NETIO_SESSION_NOT_THREADED | GF_NETIO_SESSION_NOT_CACHED, m2ts_net_io, m2ts);
        if (!m2ts->ts->dnload) {
            gf_term_on_connect(m2ts->service, NULL, GF_NOT_SUPPORTED);
            return GF_OK;
        } else {
            e = TSDemux_DemuxPlay(m2ts->ts);
        }
    } else {
        e = TSDemux_Demux_Setup(m2ts->ts,url,0);
    }

    if (e) {
        gf_term_on_connect(m2ts->service, NULL, e);
    }
    return e;
}