From patchwork Wed Jul 12 23:36:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Niedermayer X-Patchwork-Id: 42625 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:6da1:b0:131:a7d0:bc6d with SMTP id gl33csp2536501pzb; Wed, 12 Jul 2023 16:38:02 -0700 (PDT) X-Google-Smtp-Source: APBJJlFSUt5z2BUDi1g6W+Oy/EL9s1QoAr6cqVLwZ6EwaSLV3yYeOhRIC04VprIJC9SpE/COdHCx X-Received: by 2002:a17:906:20d8:b0:993:eef2:5d5d with SMTP id c24-20020a17090620d800b00993eef25d5dmr18790548ejc.27.1689205082626; Wed, 12 Jul 2023 16:38:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1689205082; cv=none; d=google.com; s=arc-20160816; b=zJEy70UAHfEkDf++RQL5Z50c2yXt0u/YMdhrgjdBir2HFWDrixwl4dZ3tf4PvP98ut iQIxxuHw9571ISj8/auTgWPiq9IGVxrCdTlbP/K6gaZTxY68QFIgKUSeMEeS1PtrT3aX roM3teCYn0wVP0Mqm2HRb/TUGrx6BDDtr9qZ2EStepBqNi9NUAaIlEBeBH0vIbdAUH// uf3hZrdtBjYTt6C8mw+x8rpZvDCL5m+I2JF5iIlOswaBnjICjTrechK6lsVgJumyhmDp utxhzvTixj6BeZYKHvvpPexE+Eo06/5aOX3FIQf71Z+fhQY9Ht0MG/lHcwUu/LGrFUre RSAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:references:in-reply-to:message-id :date:to:from:delivered-to; bh=2MTULYctkGsOwelruyD7NXGBlm8MXMrBCkLMQn96jhM=; fh=YYwLYmpaV0Fpw/rxmSKNRLS2XzDkAlGbHATiKOPtZrY=; b=VJDnoJXmkn3gluCouVMeLPfq3pZbPh9dnQ/izlPIxpsVO0rNzV9zahZelHn50ZVzyn 4i1PMVby358Zyw1WeFmd2ALW+xUWzUl+YDXnl51MdNagpe8D9vwJILqOvtx++Llapl1m viU9Zzd9HvJxRCTai0dQfc+tqR4Xix9cng67Hz1URsfz01Vn47IJWc7w/DS4Rgso31BC 8hFXRCU0C9ZrMoTJLSFze5jOMN8SFbeUFzYdcGtxg5oq57ZkL53K6KQND/7pjeLEg4wp ZFQwfSXE/TY/CD8aNLgE5mQRy3rImj4kfPGV5stRQfPIK7URzv0Z9dJjT20chdhy9cE2 QpKg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id h2-20020a1709067cc200b00993181656b0si5870559ejp.475.2023.07.12.16.38.02; Wed, 12 Jul 2023 16:38:02 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E948868C624; Thu, 13 Jul 2023 02:37:20 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from relay3-d.mail.gandi.net (relay3-d.mail.gandi.net [217.70.183.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DC2E568C624 for ; Thu, 13 Jul 2023 02:37:13 +0300 (EEST) Received: by mail.gandi.net (Postfix) with ESMTPSA id 4DAC560004 for ; Wed, 12 Jul 2023 23:37:13 +0000 (UTC) From: Michael Niedermayer To: FFmpeg development discussions and patches Date: Thu, 13 Jul 2023 01:36:58 +0200 Message-Id: <20230712233706.449054-6-michael@niedermayer.cc> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20230712233706.449054-1-michael@niedermayer.cc> References: <20230712233706.449054-1-michael@niedermayer.cc> MIME-Version: 1.0 X-GND-Sasl: michael@niedermayer.cc Subject: [FFmpeg-devel] [PATCH 06/14] avradio/rds: Implement clearing radio text X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: ADp8PHCiRhyD Signed-off-by: Michael Niedermayer --- libavradio/rds.c | 9 +++++++-- libavradio/sdr.h | 2 ++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/libavradio/rds.c b/libavradio/rds.c index 55b24a0d9e..e121c9db8e 100644 --- a/libavradio/rds.c +++ b/libavradio/rds.c @@ -130,14 +130,19 @@ static int decode_rds_group(SDRContext *sdr, Station *station, uint16_t group[4] case 0: AV_WB16(station->name + 2*(group[1]&3), group[3]); break; - case 2: + case 2:{ + int new_ab_flag = group[1] & 16; + if (new_ab_flag != station->rt_ab_flag) { + memset(station->radiotext, 0, sizeof(station->radiotext)); + station->rt_ab_flag = new_ab_flag; + } if (b) { AV_WB16(station->radiotext + 2*(group[1]&15) , group[3]); } else { AV_WB16(station->radiotext + 4*(group[1]&15) , group[2]); AV_WB16(station->radiotext + 4*(group[1]&15) + 2, group[3]); } - break; + break;} case 10: if (b==0) { AV_WB16(station->programm_type_name + 4*(group[1]&1) , group[2]); diff --git a/libavradio/sdr.h b/libavradio/sdr.h index 29ac4a2963..4b3e14da02 100644 --- a/libavradio/sdr.h +++ b/libavradio/sdr.h @@ -75,6 +75,8 @@ typedef struct Station { char radiotext[65]; char programm_type_name[9]; int program_id[2]; + uint8_t rt_ab_flag; + enum Modulation modulation; double frequency; int nb_frequency; ///< number of detections which are used to compute the frequency