Skip to content

Commit 43a82bf

Browse files
committed
port to pili-librtmp
1 parent d7af9fb commit 43a82bf

File tree

3 files changed

+27
-25
lines changed

3 files changed

+27
-25
lines changed

LFLiveKit.podspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,6 @@ Pod::Spec.new do |s|
2020

2121
s.dependency "CocoaAsyncSocket", "~> 7.4.1"
2222
s.dependency 'LMGPUImage', '~> 0.1.9'
23-
s.dependency "librtmp-iOS", "~> 1.1.0"
23+
s.dependency "pili-librtmp", "~> 1.0.2"
2424

2525
end

LFLiveKit/upload/LFStreamRtmpSocket.m

+25-23
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,14 @@
4242

4343
@interface LFStreamRtmpSocket ()<LFStreamingBufferDelegate>
4444
{
45-
RTMP* _rtmp;
45+
PILI_RTMP* _rtmp;
4646
}
4747
@property (nonatomic, weak) id<LFStreamSocketDelegate> delegate;
4848
@property (nonatomic, strong) LFLiveStreamInfo *stream;
4949
@property (nonatomic, strong) LFStreamingBuffer *buffer;
5050
@property (nonatomic, strong) dispatch_queue_t socketQueue;
51+
//错误信息
52+
@property (nonatomic, assign) RTMPError error;
5153
@property (nonatomic, assign) NSInteger retryTimes4netWorkBreaken;
5254

5355
@property (nonatomic, assign) BOOL isSending;
@@ -84,8 +86,8 @@ - (void) start{
8486
- (void) stop{
8587
dispatch_async(self.socketQueue, ^{
8688
if(_rtmp != NULL){
87-
RTMP_Close(_rtmp);
88-
RTMP_Free(_rtmp);
89+
PILI_RTMP_Close(_rtmp, &_error);
90+
PILI_RTMP_Free(_rtmp);
8991
_rtmp = NULL;
9092
}
9193
[self clean];
@@ -156,30 +158,30 @@ -(NSInteger) RTMP264_Connect:(char *)push_url{
156158
}
157159

158160
if(_rtmp != NULL){
159-
RTMP_Close(_rtmp);
160-
RTMP_Free(_rtmp);
161+
PILI_RTMP_Close(_rtmp, &_error);
162+
PILI_RTMP_Free(_rtmp);
161163
}
162164

163-
_rtmp = RTMP_Alloc();
164-
RTMP_Init(_rtmp);
165+
_rtmp = PILI_RTMP_Alloc();
166+
PILI_RTMP_Init(_rtmp);
165167

166168
//设置URL
167-
if (RTMP_SetupURL(_rtmp, push_url) < 0){
169+
if (PILI_RTMP_SetupURL(_rtmp, push_url, &_error) < 0){
168170
//log(LOG_ERR, "RTMP_SetupURL() failed!");
169171
goto Failed;
170172
}
171173

172174
//设置可写,即发布流,这个函数必须在连接前使用,否则无效
173-
RTMP_EnableWrite(_rtmp);
175+
PILI_RTMP_EnableWrite(_rtmp);
174176
_rtmp->Link.timeout = RTMP_RECEIVE_TIMEOUT;
175177

176178
//连接服务器
177-
if (RTMP_Connect(_rtmp, NULL) < 0){
179+
if (PILI_RTMP_Connect(_rtmp, NULL, &_error) < 0){
178180
goto Failed;
179181
}
180182

181183
//连接流
182-
if (RTMP_ConnectStream(_rtmp, 0) < 0) {
184+
if (PILI_RTMP_ConnectStream(_rtmp, 0, &_error) < 0) {
183185
goto Failed;
184186
}
185187

@@ -197,8 +199,8 @@ -(NSInteger) RTMP264_Connect:(char *)push_url{
197199
return 0;
198200

199201
Failed:
200-
RTMP_Close(_rtmp);
201-
RTMP_Free(_rtmp);
202+
PILI_RTMP_Close(_rtmp, &_error);
203+
PILI_RTMP_Free(_rtmp);
202204
[self clean];
203205
if(self.delegate && [self.delegate respondsToSelector:@selector(socketStatus:status:)]){
204206
[self.delegate socketStatus:self status:LFLiveError];
@@ -209,7 +211,7 @@ -(NSInteger) RTMP264_Connect:(char *)push_url{
209211
#pragma mark -- Rtmp Send
210212

211213
- (void)sendMetaData {
212-
RTMPPacket packet;
214+
PILI_RTMPPacket packet;
213215

214216
char pbuf[2048], *pend = pbuf+sizeof(pbuf);
215217

@@ -254,9 +256,9 @@ - (void)sendMetaData {
254256
*enc++ = 0;
255257
*enc++ = 0;
256258
*enc++ = AMF_OBJECT_END;
257-
259+
258260
packet.m_nBodySize = enc - packet.m_body;
259-
if(!RTMP_SendPacket(_rtmp, &packet, FALSE)) {
261+
if(!PILI_RTMP_SendPacket(_rtmp, &packet, FALSE, &_error)) {
260262
return;
261263
}
262264
}
@@ -336,9 +338,9 @@ - (void)sendVideo:(LFVideoFrame*)frame{
336338

337339
-(NSInteger) sendPacket:(unsigned int)nPacketType data:(unsigned char *)data size:(NSInteger) size nTimestamp:(uint64_t) nTimestamp{
338340
NSInteger rtmpLength = size;
339-
RTMPPacket rtmp_pack;
340-
RTMPPacket_Reset(&rtmp_pack);
341-
RTMPPacket_Alloc(&rtmp_pack,(uint32_t)rtmpLength);
341+
PILI_RTMPPacket rtmp_pack;
342+
PILI_RTMPPacket_Reset(&rtmp_pack);
343+
PILI_RTMPPacket_Alloc(&rtmp_pack,(uint32_t)rtmpLength);
342344

343345
rtmp_pack.m_nBodySize = (uint32_t)size;
344346
memcpy(rtmp_pack.m_body,data,size);
@@ -354,13 +356,13 @@ -(NSInteger) sendPacket:(unsigned int)nPacketType data:(unsigned char *)data siz
354356

355357
NSInteger nRet = [self RtmpPacketSend:&rtmp_pack];
356358

357-
RTMPPacket_Free(&rtmp_pack);
359+
PILI_RTMPPacket_Free(&rtmp_pack);
358360
return nRet;
359361
}
360362

361-
- (NSInteger)RtmpPacketSend:(RTMPPacket*)packet{
362-
if (RTMP_IsConnected(_rtmp)){
363-
int success = RTMP_SendPacket(_rtmp,packet,0);
363+
- (NSInteger)RtmpPacketSend:(PILI_RTMPPacket*)packet{
364+
if (PILI_RTMP_IsConnected(_rtmp)){
365+
int success = PILI_RTMP_SendPacket(_rtmp,packet,0,&_error);
364366
if(success){
365367
self.isSending = NO;
366368
[self sendFrame];

Podfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ platform :ios,'8.0'
44
target "LFLiveKit" do
55

66
pod 'CocoaAsyncSocket', '~> 7.4.1'
7-
pod 'librtmp-iOS', '~> 1.1.0'
7+
pod 'pili-librtmp', '~> 1.0.2'
88
pod 'LMGPUImage', '~> 0.1.9'
99

1010
end

0 commit comments

Comments
 (0)