From patchwork Fri Nov 20 16:32:30 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chicken Shack X-Patchwork-Id: 61677 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id nAKGWDCg001712 for ; Fri, 20 Nov 2009 16:32:13 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751814AbZKTQcG (ORCPT ); Fri, 20 Nov 2009 11:32:06 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751349AbZKTQcG (ORCPT ); Fri, 20 Nov 2009 11:32:06 -0500 Received: from mail.gmx.net ([213.165.64.20]:42776 "HELO mail.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1751814AbZKTQcF (ORCPT ); Fri, 20 Nov 2009 11:32:05 -0500 Received: (qmail invoked by alias); 20 Nov 2009 16:32:09 -0000 Received: from HSI-KBW-085-216-116-125.hsi.kabelbw.de (EHLO [192.168.0.2]) [85.216.116.125] by mail.gmx.net (mp065) with SMTP; 20 Nov 2009 17:32:09 +0100 X-Authenticated: #8359428 X-Provags-ID: V01U2FsdGVkX18GPpJLvLgGIjRL+YhShRw79QEVaPDOeOlo4zDOT3 /frcpIZp0wnDw7 Subject: Help request: switching multiple TS stream audio PIDs on the fly with xine-ui and mplayer From: Chicken Shack To: linux-media@vger.kernel.org Date: Fri, 20 Nov 2009 17:32:30 +0100 Message-Id: <1258734750.11079.2.camel@brian.bconsult.de> Mime-Version: 1.0 X-Mailer: Evolution 2.26.3 X-Y-GMX-Trusted: 0 X-FuHaFi: 0.44 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org --- a/scan.patch +++ b/scan.patch @@ -0,0 +1,88 @@ --- a/util/scan/scan.c +++ b/util/scan/scan.c @@ -1260,7 +1260,7 @@ static LIST_HEAD(running_filters); static LIST_HEAD(waiting_filters); static int n_running; -#define MAX_RUNNING 27 +#define MAX_RUNNING 10 static struct pollfd poll_fds[MAX_RUNNING]; static struct section_buf* poll_section_bufs[MAX_RUNNING]; @@ -2035,6 +2035,8 @@ sat_number(t), s->video_pid, s->audio_pid, + s->audio_lang, + s->audio_num, s->service_id); default: break; --- a/util/scan/dump-zap.c +++ b/util/scan/dump-zap.c @@ -75,7 +75,6 @@ fprintf (f, "%c:", polarity); fprintf (f, "%d:", sat_number); fprintf (f, "%i", p->u.qpsk.symbol_rate / 1000); /* channels.conf wants kBaud */ - /*fprintf (f, "%s", fec_name[p->u.qpsk.fec_inner]);*/ break; case FE_QAM: @@ -114,12 +113,27 @@ struct dvb_frontend_parameters *p, char polarity, int sat_number, - uint16_t video_pid, + int video_pid, uint16_t *audio_pid, - uint16_t service_id) + char audio_lang[][4], + int audio_num, + int service_id) { + int i; + if (video_pid || audio_pid[0]) { fprintf (f, "%s:", service_name); zap_dump_dvb_parameters (f, type, p, polarity, sat_number); + fprintf (f, ":%i:", video_pid); + fprintf (f, "%i", audio_pid[0]); + if (audio_lang && audio_lang[0][0]) + fprintf (f, "=%.4s", audio_lang[0]); + for (i = 1; i < audio_num; i++) + { + fprintf (f, ",%i", audio_pid[i]); + if (audio_lang && audio_lang[i][0]) + fprintf (f, "=%.4s", audio_lang[i]); + } + fprintf (f, ":%d", service_id); - fprintf (f, ":%i:%i:%i", video_pid, audio_pid[0], service_id); fprintf (f, "\n"); } +} --- a/util/scan/dump-zap.h +++ b/util/scan/dump-zap.h @@ -1,19 +1,17 @@ #ifndef __DUMP_ZAP_H__ #define __DUMP_ZAP_H__ - #include #include - extern void zap_dump_dvb_parameters (FILE *f, fe_type_t type, struct dvb_frontend_parameters *t, char polarity, int sat); - extern void zap_dump_service_parameter_set (FILE *f, const char *service_name, fe_type_t type, - struct dvb_frontend_parameters *t, + struct dvb_frontend_parameters *p, char polarity, int sat, - uint16_t video_pid, + int video_pid, uint16_t *audio_pid, - uint16_t service_id); + char audio_lang[][4], + int audio_num, + int service_id); - #endif 5. Your contribution? Who can give me hints about how and where patching xine-ui and gmplayer appropriately so that multiple audio TS PIDS can be changed on the fly? Who can offer appropriate patches? Thanks -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html