From bec277d699284592882b4ed30aa02e6c07db996f Mon Sep 17 00:00:00 2001 From: Adam Sutton Date: Sat, 2 Feb 2013 11:51:13 +0000 Subject: [PATCH] Revert "dvb: close dvr device on each re-tune" This reverts commit 03e9f1179d67bd2b4ccd7a0f3fd9c5fc039c0d5c. --- src/dvb/dvb.h | 2 -- src/dvb/dvb_adapter.c | 30 ++++++++++++------------------ src/dvb/dvb_fe.c | 1 - 3 files changed, 12 insertions(+), 21 deletions(-) diff --git a/src/dvb/dvb.h b/src/dvb/dvb.h index aaccd946..b065467f 100644 --- a/src/dvb/dvb.h +++ b/src/dvb/dvb.h @@ -346,8 +346,6 @@ void dvb_adapter_start (th_dvb_adapter_t *tda); void dvb_adapter_stop (th_dvb_adapter_t *tda); -void dvb_adapter_stop_dvr (th_dvb_adapter_t *tda); - void dvb_adapter_set_displayname(th_dvb_adapter_t *tda, const char *s); void dvb_adapter_set_enabled(th_dvb_adapter_t *tda, int on); diff --git a/src/dvb/dvb_adapter.c b/src/dvb/dvb_adapter.c index 07172ea8..e4b30c51 100644 --- a/src/dvb/dvb_adapter.c +++ b/src/dvb/dvb_adapter.c @@ -714,22 +714,6 @@ dvb_adapter_start ( th_dvb_adapter_t *tda ) } } -void -dvb_adapter_stop_dvr ( th_dvb_adapter_t *tda ) -{ - /* Stop DVR thread */ - if (tda->tda_dvr_pipe.rd != -1) { - tvhlog(LOG_DEBUG, "dvb", "%s stopping thread", tda->tda_rootpath); - int err = tvh_write(tda->tda_dvr_pipe.wr, "", 1); - assert(!err); - pthread_join(tda->tda_dvr_thread, NULL); - close(tda->tda_dvr_pipe.rd); - close(tda->tda_dvr_pipe.wr); - tda->tda_dvr_pipe.rd = -1; - tvhlog(LOG_DEBUG, "dvb", "%s stopped thread", tda->tda_rootpath); - } -} - void dvb_adapter_stop ( th_dvb_adapter_t *tda ) { @@ -746,8 +730,18 @@ dvb_adapter_stop ( th_dvb_adapter_t *tda ) tda->tda_fe_fd = -1; } - dvb_adapter_stop_dvr(tda); - + /* Stop DVR thread */ + if (tda->tda_dvr_pipe.rd != -1) { + tvhlog(LOG_DEBUG, "dvb", "%s stopping thread", tda->tda_rootpath); + int err = tvh_write(tda->tda_dvr_pipe.wr, "", 1); + assert(!err); + pthread_join(tda->tda_dvr_thread, NULL); + close(tda->tda_dvr_pipe.rd); + close(tda->tda_dvr_pipe.wr); + tda->tda_dvr_pipe.rd = -1; + tvhlog(LOG_DEBUG, "dvb", "%s stopped thread", tda->tda_rootpath); + } + dvb_adapter_notify(tda); } diff --git a/src/dvb/dvb_fe.c b/src/dvb/dvb_fe.c index 779e79b3..73a8cd0a 100644 --- a/src/dvb/dvb_fe.c +++ b/src/dvb/dvb_fe.c @@ -286,7 +286,6 @@ dvb_fe_stop(th_dvb_mux_instance_t *tdmi, int retune) } dvb_table_flush_all(tdmi); - dvb_adapter_stop_dvr(tda); assert(tdmi->tdmi_scan_queue == NULL);