File tree Expand file tree Collapse file tree
RootEncoder/Sources/RootEncoder/rtmp/flv/video/packet Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -58,15 +58,11 @@ public class RtmpH264Packet: RtmpBasePacket {
5858
5959 let headerSize = getHeaderSize ( byteBuffer: buffer)
6060
61- if headerSize == 0 {
62- return
63- }
61+ if headerSize == 0 { return }
6462
6563 let validBuffer = removeHeader ( byteBuffer: buffer, size: headerSize)
6664 let size = validBuffer. count
67- if size > UInt32 . max {
68- return
69- }
65+ if size < 0 { return }
7066 packetBuffer = [ UInt8] ( repeating: 0 , count: header. count + size + naluSize)
7167
7268 let type : Int = Int ( validBuffer [ 0 ] ) & 0x1F
@@ -107,10 +103,8 @@ public class RtmpH264Packet: RtmpBasePacket {
107103 }
108104
109105 private func writeNaluSize( buffer: inout [ UInt8 ] , offset: Int , size: Int ) {
110- buffer [ offset] = UInt8 ( size >> 24 )
111- buffer [ offset + 1 ] = UInt8 ( size >> 16 )
112- buffer [ offset + 2 ] = UInt8 ( size >> 8 )
113- buffer [ offset + 3 ] = UInt8 ( size & 0xFF )
106+ let byteArray : Array < UInt8 > = withUnsafeBytes ( of: UInt32 ( size) ) { Array ( $0) } . reversed ( )
107+ buffer [ offset..< offset + byteArray. count] = byteArray [ 0 ..< byteArray. count]
114108 }
115109
116110 private func removeHeader( byteBuffer: [ UInt8 ] , size: Int = - 1 ) -> [ UInt8 ] {
Original file line number Diff line number Diff line change @@ -55,15 +55,11 @@ public class RtmpH265Packet: RtmpBasePacket {
5555
5656 let headerSize = getHeaderSize ( byteBuffer: buffer)
5757
58- if headerSize == 0 {
59- return
60- }
58+ if headerSize == 0 { return }
6159
6260 let validBuffer = removeHeader ( byteBuffer: buffer, size: headerSize)
6361 let size = validBuffer. count
64- if size > UInt32 . max {
65- return
66- }
62+ if size < 0 { return }
6763 packetBuffer = [ UInt8] ( repeating: 0 , count: header. count + size + naluSize)
6864 header [ 5 ] = UInt8 ( cts >> 16 )
6965 header [ 6 ] = UInt8 ( cts >> 8 )
@@ -105,10 +101,8 @@ public class RtmpH265Packet: RtmpBasePacket {
105101 }
106102
107103 private func writeNaluSize( buffer: inout [ UInt8 ] , offset: Int , size: Int ) {
108- buffer [ offset] = UInt8 ( size >> 24 )
109- buffer [ offset + 1 ] = UInt8 ( size >> 16 )
110- buffer [ offset + 2 ] = UInt8 ( size >> 8 )
111- buffer [ offset + 3 ] = UInt8 ( size & 0xFF )
104+ let byteArray : Array < UInt8 > = withUnsafeBytes ( of: UInt32 ( size) ) { Array ( $0) } . reversed ( )
105+ buffer [ offset..< offset + byteArray. count] = byteArray [ 0 ..< byteArray. count]
112106 }
113107
114108 private func removeHeader( byteBuffer: [ UInt8 ] , size: Int = - 1 ) -> [ UInt8 ] {
You can’t perform that action at this time.
0 commit comments