Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5002ea9e authored by Sherry Huang's avatar Sherry Huang
Browse files

TIS: Standardize TIS Signal Extensions API

Define standardized AIDL interfaces for signal extention package.

Flag: android.media.tv.flags.tif_extension_standardization
Bug: b/344029126
Test: local testing with m
Change-Id: I8e2ac0ddb219825b37d7abed9174c9943149d59d
parent 8a9da474
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.media.tv.extension.signal;

import android.os.Bundle;

/**
 * @hide
 */
interface IAnalogAudioInfo {
    Bundle getAnalogAudioInfo(String sessionToken);
}
+36 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.media.tv.extension.signal;

import android.media.tv.extension.signal.IAudioSignalInfoListener;
import android.os.Bundle;

/**
 * @hide
 */
interface IAudioSignalInfo {
    // Get audio signal information.
    Bundle getAudioSignalInfo(String sessionToken);
    // Notify TIS whether user selects audio track via mts button on the remote control.
    void notifyMtsSelectTrackFlag(boolean mtsFlag);
    // Get the audio track id selected via mts.
    String getMtsSelectedTrackId();
    // Register a listener to receive the updated audio signal information.
    void addAudioSignalInfoListener(String clientToken, in IAudioSignalInfoListener listener);
    // Remove a listener for audio signal information update notifications.
    void removeAudioSignalInfoListener(in IAudioSignalInfoListener listener);
}
+26 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.media.tv.extension.signal;

import android.os.Bundle;

/**
 * @hide
 */
oneway interface IAudioSignalInfoListener {
    void onAudioSignalInfoChanged(String sessionToken, in Bundle changedSignalInfo);
}
+25 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.media.tv.extension.signal;

/**
 * @hide
 */
oneway interface IHdmiSignalInfoListener {
    void onSignalInfoChanged(String sessionToken);
    void onLowLatencyModeChanged(int enable);
}
+36 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2024 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.media.tv.extension.signal;

import android.media.tv.extension.signal.IHdmiSignalInfoListener;
import android.os.Bundle;

/**
 * @hide
 */
interface IHdmiSignalInterface {
    // Register a listener for Hdmi Signal Info updates.
    void addHdmiSignalInfoListener(String inputId, in IHdmiSignalInfoListener listener);
    // Remove a listener for Hdmi Signal Info update notifications.
    void removeHdmiSignalInfoListener(String inputId, in IHdmiSignalInfoListener listener);
    // Obtain HdmiSignalInfo based on the inputId and sessionToken.
    Bundle getHdmiSignalInfo(String sessionToken);
    // Enable/disable low-latency decoding mode.
    void setLowLatency(String sessionToken, int mode);
    // Enable/disable force-VRR mode.
    void setForceVrr(String sessionToken, int mode);
}
Loading