Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
mpegts: propagate weight to start_mux callback (mpegts_input)
  • Loading branch information
perexg committed Nov 30, 2015
1 parent 82669f4 commit e7c6962
Show file tree
Hide file tree
Showing 9 changed files with 13 additions and 16 deletions.
4 changes: 2 additions & 2 deletions src/input/mpegts.h
Expand Up @@ -710,7 +710,7 @@ struct mpegts_input
int (*mi_get_priority) (mpegts_input_t*, mpegts_mux_t *mm, int flags);
int (*mi_get_grace) (mpegts_input_t*, mpegts_mux_t *mm);
int (*mi_warm_mux) (mpegts_input_t*,mpegts_mux_instance_t*);
int (*mi_start_mux) (mpegts_input_t*,mpegts_mux_instance_t*);
int (*mi_start_mux) (mpegts_input_t*,mpegts_mux_instance_t*, int weight);
void (*mi_stop_mux) (mpegts_input_t*,mpegts_mux_instance_t*);
void (*mi_open_service) (mpegts_input_t*,mpegts_service_t*,int flags, int first);
void (*mi_close_service) (mpegts_input_t*,mpegts_service_t*);
Expand Down Expand Up @@ -861,7 +861,7 @@ mpegts_service_t *mpegts_mux_find_service(mpegts_mux_t *ms, uint16_t sid);
void mpegts_mux_instance_delete ( tvh_input_instance_t *tii );

int mpegts_mux_instance_start
( mpegts_mux_instance_t **mmiptr, service_t *t );
( mpegts_mux_instance_t **mmiptr, service_t *t, int weight );

int mpegts_mux_instance_weight ( mpegts_mux_instance_t *mmi );

Expand Down
2 changes: 1 addition & 1 deletion src/input/mpegts/iptv/iptv.c
Expand Up @@ -295,7 +295,7 @@ static htsstr_substitute_t iptv_input_subst[] = {
};

static int
iptv_input_start_mux ( mpegts_input_t *mi, mpegts_mux_instance_t *mmi )
iptv_input_start_mux ( mpegts_input_t *mi, mpegts_mux_instance_t *mmi, int weight )
{
int ret = SM_CODE_TUNING_FAILED;
iptv_mux_t *im = (iptv_mux_t*)mmi->mmi_mux;
Expand Down
2 changes: 1 addition & 1 deletion src/input/mpegts/linuxdvb/linuxdvb_frontend.c
Expand Up @@ -455,7 +455,7 @@ linuxdvb_frontend_stop_mux

static int
linuxdvb_frontend_start_mux
( mpegts_input_t *mi, mpegts_mux_instance_t *mmi )
( mpegts_input_t *mi, mpegts_mux_instance_t *mmi, int weight )
{
linuxdvb_frontend_t *lfe = (linuxdvb_frontend_t*)mi, *lfe2;
int res, f;
Expand Down
2 changes: 1 addition & 1 deletion src/input/mpegts/mpegts_input.c
Expand Up @@ -384,7 +384,7 @@ mpegts_input_warm_mux ( mpegts_input_t *mi, mpegts_mux_instance_t *mmi )
}

static int
mpegts_input_start_mux ( mpegts_input_t *mi, mpegts_mux_instance_t *mmi )
mpegts_input_start_mux ( mpegts_input_t *mi, mpegts_mux_instance_t *mmi, int weight )
{
return SM_CODE_TUNING_FAILED;
}
Expand Down
4 changes: 2 additions & 2 deletions src/input/mpegts/mpegts_mux.c
Expand Up @@ -217,7 +217,7 @@ mpegts_mux_unsubscribe_linked

int
mpegts_mux_instance_start
( mpegts_mux_instance_t **mmiptr, service_t *t )
( mpegts_mux_instance_t **mmiptr, service_t *t, int weight )
{
int r;
char buf[256], buf2[256];
Expand Down Expand Up @@ -248,7 +248,7 @@ mpegts_mux_instance_start

r = mi->mi_warm_mux(mi, mmi);
if (r) return r;
r = mi->mi_start_mux(mi, mmi);
r = mi->mi_start_mux(mi, mmi, weight);
if (r) return r;

/* Start */
Expand Down
2 changes: 1 addition & 1 deletion src/input/mpegts/mpegts_service.c
Expand Up @@ -331,7 +331,7 @@ mpegts_service_start(service_t *t, int instance, int weight, int flags)

/* Start Mux */
mmi->mmi_start_weight = weight;
r = mpegts_mux_instance_start(&mmi, t);
r = mpegts_mux_instance_start(&mmi, t, weight);

/* Start */
if (!r) {
Expand Down
9 changes: 3 additions & 6 deletions src/input/mpegts/satip/satip_frontend.c
Expand Up @@ -486,7 +486,7 @@ satip_frontend_stop_mux

static int
satip_frontend_start_mux
( mpegts_input_t *mi, mpegts_mux_instance_t *mmi )
( mpegts_input_t *mi, mpegts_mux_instance_t *mmi, int weight )
{
satip_frontend_t *lfe = (satip_frontend_t*)mi;
dvb_mux_t *lm = (dvb_mux_t *)mmi->mmi_mux;
Expand Down Expand Up @@ -519,11 +519,8 @@ satip_frontend_start_mux

mpegts_pid_init(&tr->sf_pids);
mpegts_pid_init(&tr->sf_pids_tuned);
if (lfe->sf_device->sd_can_weight) {
pthread_mutex_lock(&mi->mi_output_lock);
tr->sf_weight = mpegts_mux_instance_weight(mmi);
pthread_mutex_unlock(&mi->mi_output_lock);
}
if (lfe->sf_device->sd_can_weight)
tr->sf_weight = weight;

pthread_mutex_lock(&lfe->sf_dvr_lock);
lfe->sf_req = tr;
Expand Down
2 changes: 1 addition & 1 deletion src/input/mpegts/tsfile/tsfile_input.c
Expand Up @@ -200,7 +200,7 @@ tsfile_input_stop_mux ( mpegts_input_t *mi, mpegts_mux_instance_t *mmi )
}

static int
tsfile_input_start_mux ( mpegts_input_t *mi, mpegts_mux_instance_t *t )
tsfile_input_start_mux ( mpegts_input_t *mi, mpegts_mux_instance_t *t, int weight )
{
struct stat st;
mpegts_mux_t *mm = t->mmi_mux;
Expand Down
2 changes: 1 addition & 1 deletion src/input/mpegts/tvhdhomerun/tvhdhomerun_frontend.c
Expand Up @@ -423,7 +423,7 @@ static int tvhdhomerun_frontend_tune(tvhdhomerun_frontend_t *hfe, mpegts_mux_ins

static int
tvhdhomerun_frontend_start_mux
( mpegts_input_t *mi, mpegts_mux_instance_t *mmi )
( mpegts_input_t *mi, mpegts_mux_instance_t *mmi, int weight )
{
tvhdhomerun_frontend_t *hfe = (tvhdhomerun_frontend_t*)mi;
int res, r;
Expand Down

0 comments on commit e7c6962

Please sign in to comment.