Fix tune byte alignment

When reading data from the socket, one byte is read during tuning
and remaining data is read during playback. Since the same streamer
is used for reading data, there is an offset of 1 when tuning is
performed before playback. The extra byte is stored in a buffer
and prepended to the playback buffer.

Bug: 288170590
Test: atest VtsHalTvTunerTargetTest
Change-Id: Ie5d112dbc3c3e3bbb0bb07e60d15ddc26cacaf8c
diff --git a/tv/tuner/aidl/default/Frontend.h b/tv/tuner/aidl/default/Frontend.h
index 7622ec0..f3f8a87 100644
--- a/tv/tuner/aidl/default/Frontend.h
+++ b/tv/tuner/aidl/default/Frontend.h
@@ -68,6 +68,7 @@
     string getIptvTransportDescription();
     dtv_streamer* getIptvPluginStreamer();
     void readTuneByte(void* buf);
+    void* getTuneByteBuffer() { return mTuneByteBuffer; };
     dtv_streamer* createIptvPluginStreamer(dtv_plugin* interface, const char* transport_desc);
     dtv_plugin* createIptvPluginInterface();
     bool isLocked();
@@ -95,6 +96,7 @@
     string mIptvTransportDescription;
     dtv_streamer* mIptvPluginStreamer;
     std::thread mIptvFrontendTuneThread;
+    void* mTuneByteBuffer = nullptr;
 };
 
 }  // namespace tuner