summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2012-08-30 09:13:54 -0700
committerAndreas Huber <andih@google.com>2012-08-30 09:13:54 -0700
commit774df0dce0116c69b6d17f2e4a4912e06138e575 (patch)
treeb1ea493b78218e4c4e5be76d5e14d2675da05ffe /media
parent2f9a44101f4fd372834c67150aea76a07b94b5ec (diff)
downloadframeworks_av-774df0dce0116c69b6d17f2e4a4912e06138e575.zip
frameworks_av-774df0dce0116c69b6d17f2e4a4912e06138e575.tar.gz
frameworks_av-774df0dce0116c69b6d17f2e4a4912e06138e575.tar.bz2
Optionally log the transport stream transmitted to the sink.
Change-Id: I5d392e7997d6beb09ba6eca70d6899747098d2b3
Diffstat (limited to 'media')
-rw-r--r--media/libstagefright/wifi-display/source/PlaybackSession.cpp23
-rw-r--r--media/libstagefright/wifi-display/source/PlaybackSession.h6
2 files changed, 28 insertions, 1 deletions
diff --git a/media/libstagefright/wifi-display/source/PlaybackSession.cpp b/media/libstagefright/wifi-display/source/PlaybackSession.cpp
index 96c9222..6b42431 100644
--- a/media/libstagefright/wifi-display/source/PlaybackSession.cpp
+++ b/media/libstagefright/wifi-display/source/PlaybackSession.cpp
@@ -132,8 +132,16 @@ WifiDisplaySource::PlaybackSession::PlaybackSession(
mNumSRsSent(0),
mSendSRPending(false),
mFirstPacketTimeUs(-1ll),
- mHistoryLength(0) {
+ mHistoryLength(0)
+#if LOG_TRANSPORT_STREAM
+ ,mLogFile(NULL)
+#endif
+{
mTSQueue->setRange(0, 12);
+
+#if LOG_TRANSPORT_STREAM
+ mLogFile = fopen("/system/etc/log.ts", "wb");
+#endif
}
status_t WifiDisplaySource::PlaybackSession::init(
@@ -215,6 +223,13 @@ status_t WifiDisplaySource::PlaybackSession::init(
}
WifiDisplaySource::PlaybackSession::~PlaybackSession() {
+#if LOG_TRANSPORT_STREAM
+ if (mLogFile != NULL) {
+ fclose(mLogFile);
+ mLogFile = NULL;
+ }
+#endif
+
mTracks.clear();
if (mCodecLooper != NULL) {
@@ -470,6 +485,12 @@ void WifiDisplaySource::PlaybackSession::onMessageReceived(
true /* timeDiscontinuity */,
lastTSPacket /* flush */);
}
+
+#if LOG_TRANSPORT_STREAM
+ if (mLogFile != NULL) {
+ fwrite(packets->data(), 1, packets->size(), mLogFile);
+ }
+#endif
}
} else if (what == Converter::kWhatEOS) {
CHECK_EQ(what, Converter::kWhatEOS);
diff --git a/media/libstagefright/wifi-display/source/PlaybackSession.h b/media/libstagefright/wifi-display/source/PlaybackSession.h
index d256fc4..a6c9f27 100644
--- a/media/libstagefright/wifi-display/source/PlaybackSession.h
+++ b/media/libstagefright/wifi-display/source/PlaybackSession.h
@@ -26,6 +26,8 @@ struct ABuffer;
struct Serializer;
struct TSPacketizer;
+#define LOG_TRANSPORT_STREAM 0
+
// Encapsulates the state of an RTP/RTCP session in the context of wifi
// display.
struct WifiDisplaySource::PlaybackSession : public AHandler {
@@ -111,6 +113,10 @@ private:
List<sp<ABuffer> > mHistory;
size_t mHistoryLength;
+#if LOG_TRANSPORT_STREAM
+ FILE *mLogFile;
+#endif
+
void onSendSR();
void addSR(const sp<ABuffer> &buffer);
void addSDES(const sp<ABuffer> &buffer);