From 494ba666ac41fb44d6beeb12d743daa171e1c26f Mon Sep 17 00:00:00 2001 From: Hongguang Date: Wed, 5 Jan 2022 22:08:10 -0800 Subject: [PATCH] Add CRC32 checking hint. Bug: 172985025 Test: atest VtsHalTvTunerTargetTest Change-Id: Ie26cfee7ba0254fe20e485cd173e65d391f7a254 --- .../hardware/tv/tuner/DemuxFilterSectionSettings.aidl | 1 + .../hardware/tv/tuner/DemuxFilterSectionSettings.aidl | 10 +++++++++- tv/tuner/config/TunerTestingConfigAidlReaderV1_0.h | 1 + tv/tuner/config/api/current.txt | 2 ++ .../config/tuner_testing_dynamic_configuration.xsd | 1 + 5 files changed, 14 insertions(+), 1 deletion(-) diff --git a/tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/DemuxFilterSectionSettings.aidl b/tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/DemuxFilterSectionSettings.aidl index 2858565099..7936e59001 100644 --- a/tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/DemuxFilterSectionSettings.aidl +++ b/tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/DemuxFilterSectionSettings.aidl @@ -39,4 +39,5 @@ parcelable DemuxFilterSectionSettings { boolean isCheckCrc; boolean isRepeat; boolean isRaw; + int bitWidthOfLengthField; } diff --git a/tv/tuner/aidl/android/hardware/tv/tuner/DemuxFilterSectionSettings.aidl b/tv/tuner/aidl/android/hardware/tv/tuner/DemuxFilterSectionSettings.aidl index f6788ee131..aa30175823 100644 --- a/tv/tuner/aidl/android/hardware/tv/tuner/DemuxFilterSectionSettings.aidl +++ b/tv/tuner/aidl/android/hardware/tv/tuner/DemuxFilterSectionSettings.aidl @@ -19,7 +19,7 @@ package android.hardware.tv.tuner; import android.hardware.tv.tuner.DemuxFilterSectionSettingsCondition; /** - * Filter Settings for Section data according to ISO/IEC 13818-1. + * Filter Settings for Section data according to ISO/IEC 13818-1 and ISO/IEC 23008-1. * @hide */ @VintfStability @@ -49,4 +49,12 @@ parcelable DemuxFilterSectionSettings { * true if the filter send onFilterStatus instead of onFilterEvent. */ boolean isRaw; + + /** + * The bit width of the MMTP (MPEG Media Transport Protocol) section message's length field + * according to ISO/IEC 23008-1. + * + * The filter uses this for CRC checking when isCheckCrc is true. + */ + int bitWidthOfLengthField; } diff --git a/tv/tuner/config/TunerTestingConfigAidlReaderV1_0.h b/tv/tuner/config/TunerTestingConfigAidlReaderV1_0.h index b6cc5f80b0..b73d59411b 100644 --- a/tv/tuner/config/TunerTestingConfigAidlReaderV1_0.h +++ b/tv/tuner/config/TunerTestingConfigAidlReaderV1_0.h @@ -954,6 +954,7 @@ struct TunerTestingConfigAidlReader1_0 { settings.isCheckCrc = section->getIsCheckCrc(); settings.isRepeat = section->getIsRepeat(); settings.isRaw = section->getIsRaw(); + settings.bitWidthOfLengthField = section->getBitWidthOfLengthField(); return settings; } diff --git a/tv/tuner/config/api/current.txt b/tv/tuner/config/api/current.txt index db1d076e10..4d519d7cb5 100644 --- a/tv/tuner/config/api/current.txt +++ b/tv/tuner/config/api/current.txt @@ -477,9 +477,11 @@ package android.media.tuner.testing.configuration.V1_0 { public class SectionFilterSettings { ctor public SectionFilterSettings(); + method @Nullable public java.math.BigInteger getBitWidthOfLengthField(); method @Nullable public boolean getIsCheckCrc(); method @Nullable public boolean getIsRaw(); method @Nullable public boolean getIsRepeat(); + method public void setBitWidthOfLengthField(@Nullable java.math.BigInteger); method public void setIsCheckCrc(@Nullable boolean); method public void setIsRaw(@Nullable boolean); method public void setIsRepeat(@Nullable boolean); diff --git a/tv/tuner/config/tuner_testing_dynamic_configuration.xsd b/tv/tuner/config/tuner_testing_dynamic_configuration.xsd index 54cedfcf6b..94f108b43a 100644 --- a/tv/tuner/config/tuner_testing_dynamic_configuration.xsd +++ b/tv/tuner/config/tuner_testing_dynamic_configuration.xsd @@ -226,6 +226,7 @@ +