Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
IPTV: bouquet linking - fixes
  • Loading branch information
perexg committed Oct 16, 2015
1 parent f2f9bcf commit 9539fd7
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 4 deletions.
19 changes: 19 additions & 0 deletions src/bouquet.c
Expand Up @@ -536,6 +536,20 @@ bouquet_save(bouquet_t *bq, int notify)
idnode_notify_changed(&bq->bq_id);
}

/**
*
*/

void
bouquet_change_comment ( bouquet_t *bq, const char *comment, int replace )
{
if (!replace && (bq->bq_comment || bq->bq_comment[0]))
return;
free(bq->bq_comment);
bq->bq_comment = strdup(comment);
bq->bq_saveflag = 1;
}

/* **************************************************************************
* Class definition
* **************************************************************************/
Expand Down Expand Up @@ -577,6 +591,11 @@ static void
bouquet_class_rescan_notify0 ( bouquet_t *bq, const char *lang )
{
void mpegts_mux_bouquet_rescan ( const char *src, const char *extra );
void iptv_bouquet_trigger_by_uuid( const char *uuid );
#if ENABLE_IPTV
if (bq->bq_src && strncmp(bq->bq_src, "iptv-network://", 15) == 0)
return iptv_bouquet_trigger_by_uuid(bq->bq_src + 15);
#endif
mpegts_mux_bouquet_rescan(bq->bq_src, bq->bq_comment);
bq->bq_rescan = 0;
}
Expand Down
1 change: 1 addition & 0 deletions src/bouquet.h
Expand Up @@ -87,6 +87,7 @@ void bouquet_map_to_channels(bouquet_t *bq);
void bouquet_notify_channels(bouquet_t *bq);
void bouquet_add_service(bouquet_t *bq, service_t *s, uint64_t lcn, uint32_t tag);
void bouquet_completed(bouquet_t *bq, uint32_t seen);
void bouquet_change_comment(bouquet_t *bq, const char *comment, int replace);

uint64_t bouquet_get_channel_number(bouquet_t *bq, service_t *t);

Expand Down
4 changes: 1 addition & 3 deletions src/input/mpegts/dvb_psi.c
Expand Up @@ -106,10 +106,8 @@ dvb_bouquet_comment ( bouquet_t *bq, mpegts_mux_t *mm )

if (bq->bq_comment && bq->bq_comment[0])
return;
free(bq->bq_comment);
mpegts_mux_nice_name(mm, comment, sizeof(comment));
bq->bq_comment = strdup(comment);
bq->bq_saveflag = 1;
bouquet_change_comment(bq, comment, 0);
}

#if ENABLE_MPEGTS_DVB
Expand Down
2 changes: 2 additions & 0 deletions src/input/mpegts/iptv.h
Expand Up @@ -20,6 +20,8 @@
#ifndef __IPTV_H__
#define __IPTV_H__

void iptv_bouquet_trigger_by_uuid(const char *uuid);

void iptv_init ( void );
void iptv_done ( void );

Expand Down
10 changes: 9 additions & 1 deletion src/input/mpegts/iptv/iptv.c
Expand Up @@ -91,7 +91,7 @@ iptv_bouquet_get (iptv_network_t *in, int create)
{
char buf[128];
snprintf(buf, sizeof(buf), "iptv-network://%s", idnode_uuid_as_sstr(&in->mn_id));
return bouquet_find_by_source(in->in_url, buf, create);
return bouquet_find_by_source(in->mn_network_name, buf, create);
}

static void
Expand All @@ -104,6 +104,7 @@ iptv_bouquet_update(void *aux)
uint32_t seen = 0;
if (bq == NULL)
return;
bouquet_change_comment(bq, in->in_url, 1);
LIST_FOREACH(mm, &in->mn_muxes, mm_network_link)
LIST_FOREACH(ms, &mm->mm_services, s_dvb_mux_link) {
bouquet_add_service(bq, (service_t *)ms, ((iptv_mux_t *)mm)->mm_iptv_chnum, 0);
Expand All @@ -118,6 +119,13 @@ iptv_bouquet_trigger(iptv_network_t *in, int timeout)
gtimer_arm(&in->in_bouquet_timer, iptv_bouquet_update, in, timeout);
}

void
iptv_bouquet_trigger_by_uuid(const char *uuid)
{
iptv_network_t *in = (iptv_network_t *)idnode_find(uuid, &iptv_network_class, NULL);
iptv_bouquet_trigger(in, 0);
}


/* **************************************************************************
* IPTV input
Expand Down

0 comments on commit 9539fd7

Please sign in to comment.