/* * Write packet */ ssize_t timeshift_write_packet ( int fd, int64_t time, th_pkt_t *pkt ) { ssize_t ret = 0, err; ret = err = _write_msg(fd, SMT_PACKET, time, pkt, sizeof(th_pkt_t)); if (err <= 0) return err; err = _write_pktbuf(fd, pkt->pkt_meta); if (err <= 0) return err; ret += err; err = _write_pktbuf(fd, pkt->pkt_payload); if (err <= 0) return err; ret += err; return ret; }
/* * Exit */ ssize_t timeshift_write_exit ( int fd ) { int code = 0; return _write_msg(fd, SMT_EXIT, 0, &code, sizeof(code)); }
/* * Stop */ ssize_t timeshift_write_stop ( int fd, int code ) { return _write_msg(fd, SMT_STOP, 0, &code, sizeof(code)); }
/* * Write speed message */ ssize_t timeshift_write_speed ( int fd, int speed ) { return _write_msg(fd, SMT_SPEED, 0, &speed, sizeof(speed)); }
/* * Write skip message */ ssize_t timeshift_write_skip ( int fd, streaming_skip_t *skip ) { return _write_msg(fd, SMT_SKIP, 0, skip, sizeof(streaming_skip_t)); }
/* * Write MPEGTS data */ ssize_t timeshift_write_mpegts ( int fd, int64_t time, void *data ) { return _write_msg(fd, SMT_MPEGTS, time, data, 188); }
/* * Write signal status */ ssize_t timeshift_write_sigstat ( int fd, int64_t time, signal_status_t *sigstat ) { return _write_msg(fd, SMT_SIGNAL_STATUS, time, sigstat, sizeof(signal_status_t)); }
/* * Write MPEGTS data */ ssize_t timeshift_write_mpegts ( timeshift_file_t *tsf, int64_t time, void *data ) { return _write_msg(tsf, SMT_MPEGTS, time, data, 188); }
/* * Write signal status */ ssize_t timeshift_write_sigstat ( timeshift_file_t *tsf, int64_t time, signal_status_t *sigstat ) { return _write_msg(tsf, SMT_SIGNAL_STATUS, time, sigstat, sizeof(signal_status_t)); }