diff --git a/libtriple/dmx_td.cpp b/libtriple/dmx_td.cpp index 5a9c244..1dc38b0 100644 --- a/libtriple/dmx_td.cpp +++ b/libtriple/dmx_td.cpp @@ -386,7 +386,7 @@ void *cDemux::getChannel() return NULL; } -void cDemux::addPid(unsigned short Pid) +bool cDemux::addPid(unsigned short Pid) { pes_pids pfd; int ret; @@ -394,7 +394,7 @@ void cDemux::addPid(unsigned short Pid) if (dmx_type != DMX_TP_CHANNEL) { lt_info("%s pes_type %s not implemented yet! pid=%hx\n", __FUNCTION__, DMX_T[dmx_type], Pid); - return; + return false; } if (fd == -1) lt_info("%s bucketfd not yet opened? pid=%hx\n", __FUNCTION__, Pid); @@ -402,7 +402,7 @@ void cDemux::addPid(unsigned short Pid) if (pfd.fd < 0) { lt_info("%s #%d Pid = %hx open failed (%m)\n", __FUNCTION__, num, Pid); - return; + return false; } lt_debug("%s #%d Pid = %hx pfd = %d\n", __FUNCTION__, num, Pid, pfd); @@ -430,7 +430,7 @@ void cDemux::addPid(unsigned short Pid) else /* error! */ close(pfd.fd); - return; + return (ret != -1); } void cDemux::removePid(unsigned short Pid) diff --git a/libtriple/dmx_td.h b/libtriple/dmx_td.h index 368f04c..ed44469 100644 --- a/libtriple/dmx_td.h +++ b/libtriple/dmx_td.h @@ -51,7 +51,7 @@ class cDemux void * getBuffer(); void * getChannel(); DMX_CHANNEL_TYPE getChannelType(void) { return dmx_type; }; - void addPid(unsigned short pid); + bool addPid(unsigned short pid); void getSTC(int64_t * STC); int getUnit(void); // TD only functions