From 9e5babf9db52e64bdae60137be7696e56241fca6 Mon Sep 17 00:00:00 2001
From: xingzilong <xingzilong@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期五, 18 八月 2017 18:12:17 +0800
Subject: [PATCH] H264 NALU解析  并在RTSPServer判断

---
 RtspFace/PL_RTSPClient.cpp |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/RtspFace/PL_RTSPClient.cpp b/RtspFace/PL_RTSPClient.cpp
index 7bcf9d9..5704b37 100644
--- a/RtspFace/PL_RTSPClient.cpp
+++ b/RtspFace/PL_RTSPClient.cpp
@@ -219,6 +219,17 @@
 	pm.buffSize = 0;
 	pm.former = this;
 
+//	if(nullptr!=pm.buffer)
+//	{
+//		MB_Frame* frame = (MB_Frame*)pm.buffer;
+//		if (frame->type == MB_Frame::MBFT_H264_NALU)
+//		{
+//			static FILE *pFile = fopen("/data/bb1.264", "wb");
+//			fwrite(frame->buffer, sizeof(char), frame->buffSize, pFile);
+//			fflush(pFile);
+//		}
+//	}
+
 	return true;
 }
 
@@ -249,6 +260,18 @@
 	sprintf(tmp, "%u", param.height); client->manager->set_param(PLGP_RTSP_HEIGHT, std::string(tmp));
 	sprintf(tmp, "%u", param.fps); client->manager->set_param(PLGP_RTSP_FPS, std::string(tmp));
 
+	size_t spl = 0;
+	if (param.fmtp.find_first_of(',') != std::string::npos)
+	{
+		// split fmpt to base64 of sps,pps
+		// set to PLGP_DEC_SPS_B64 PLGP_DEC_PPS_B64
+		spl = param.fmtp.find_first_of(',');
+		std::string _base64_sps = param.fmtp.substr(0, spl);
+		std::string _base64_pps = param.fmtp.substr(spl + 1, param.fmtp.length());
+		client->manager->set_param(PLGP_DEC_SPS_B64,_base64_sps);
+		client->manager->set_param(PLGP_DEC_PPS_B64,_base64_pps);
+	}
+
 	/*
 	std::string fmtp(client->manager->get_param(PLGP_RTSP_FMTP));
 	if (fmtp.empty())

--
Gitblit v1.8.0