diff --git a/src/input/mpegts/mpegts_service.c b/src/input/mpegts/mpegts_service.c index 2339c108..f076bebd 100644 --- a/src/input/mpegts/mpegts_service.c +++ b/src/input/mpegts/mpegts_service.c @@ -294,5 +294,7 @@ mpegts_service_find void mpegts_service_save ( mpegts_service_t *s, htsmsg_t *c ) { + pthread_mutex_lock(&s->s_stream_mutex); service_save((service_t*)s, c); + pthread_mutex_unlock(&s->s_stream_mutex); } diff --git a/src/service.c b/src/service.c index ee2e5cd2..5bbf55e2 100644 --- a/src/service.c +++ b/src/service.c @@ -1277,6 +1277,8 @@ void service_save ( service_t *t, htsmsg_t *m ) elementary_stream_t *st; htsmsg_t *list, *sub; + idnode_save(&t->s_id, m); + htsmsg_add_u32(m, "pcr", t->s_pcr_pid); lock_assert(&t->s_stream_mutex);