X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FProtocols%2FDVB%2FDVBDemuxHandles.cc;h=3d473eca4db2884ee4dff94bdd2828091467fdf8;hb=1ad3873b372da6187b1fbc645bf276287d2efb54;hp=13c70ddacdfcc7e777633d70bfab2e2df7344281;hpb=8d2d26f114d3df0a60c5c516fcf40671b1e55558;p=senf.git diff --git a/Socket/Protocols/DVB/DVBDemuxHandles.cc b/Socket/Protocols/DVB/DVBDemuxHandles.cc index 13c70dd..3d473ec 100644 --- a/Socket/Protocols/DVB/DVBDemuxHandles.cc +++ b/Socket/Protocols/DVB/DVBDemuxHandles.cc @@ -45,10 +45,10 @@ prefix_ void senf::DVBDemuxSectionProtocol::init_client(unsigned short adapter, { std::string devDemux = str( boost::format( "/dev/dvb/adapter%d/demux%d") % adapter % device); - int fd = open(devDemux.c_str(), O_RDONLY | O_NONBLOCK); - if (fd < 0) - throw SystemException(errno); - body().fd(fd); + int f = open(devDemux.c_str(), O_RDONLY | O_NONBLOCK); + if (f < 0) + throwErrno(); + fd(f); } prefix_ unsigned senf::DVBDemuxSectionProtocol::available() @@ -66,8 +66,8 @@ prefix_ std::auto_ptr senf::DVBDemuxSectionProtocol::clone prefix_ void senf::DVBDemuxSectionProtocol::setSectionFilter(struct dmx_sct_filter_params *filter) const { - if (::ioctl(body().fd(), DMX_SET_FILTER, filter) < 0) - throw SystemException(errno); + if (::ioctl(fd(), DMX_SET_FILTER, filter) < 0) + throwErrno(); } // ---------------------------------------------------------------- @@ -77,10 +77,10 @@ prefix_ void senf::DVBDemuxPESProtocol::init_client(unsigned short adapter, unsi { std::string devDemux = str( boost::format( "/dev/dvb/adapter%d/demux%d") % adapter % device); - int fd = open(devDemux.c_str(), O_RDONLY | O_NONBLOCK); - if (fd < 0) - throw SystemException(errno); - body().fd(fd); + int f = open(devDemux.c_str(), O_RDONLY | O_NONBLOCK); + if (f < 0) + throwErrno(); + fd(f); } prefix_ unsigned senf::DVBDemuxPESProtocol::available() @@ -98,8 +98,8 @@ prefix_ std::auto_ptr senf::DVBDemuxPESProtocol::clone() prefix_ void senf::DVBDemuxPESProtocol::setPESFilter(struct dmx_pes_filter_params *filter) const { - if (::ioctl(body().fd(), DMX_SET_PES_FILTER, filter) < 0) - throw SystemException(errno); + if (::ioctl(fd(), DMX_SET_PES_FILTER, filter) < 0) + throwErrno(); } // ---------------------------------------------------------------- @@ -109,10 +109,10 @@ prefix_ void senf::DVBDvrProtocol::init_client(unsigned short adapter, unsigned { std::string devDvr = str( boost::format( "/dev/dvb/adapter%d/dvr%d") % adapter % device); - int fd = open(devDvr.c_str(), O_RDONLY | O_NONBLOCK); - if (fd < 0) - throw SystemException(errno); - body().fd(fd); + int f = open(devDvr.c_str(), O_RDONLY | O_NONBLOCK); + if (f < 0) + throwErrno(); + fd(f); } prefix_ unsigned senf::DVBDvrProtocol::available()