mirror of https://bitbucket.org/ausocean/av.git
Using my rtmpSendPacket func - tested and working
This commit is contained in:
parent
8285941eec
commit
e059095c74
27
rtmp/rtmp.go
27
rtmp/rtmp.go
|
@ -943,8 +943,8 @@ func sendConnectPacket(r *C.RTMP, cp *C.RTMPPacket) int {
|
||||||
var enc *byte
|
var enc *byte
|
||||||
|
|
||||||
if cp != nil {
|
if cp != nil {
|
||||||
//return rtmpSendPacket(r, cp, 1)
|
return rtmpSendPacket(r, cp, 1)
|
||||||
return int(C.RTMP_SendPacket(r, cp, 1))
|
//return int(C.RTMP_SendPacket(r, cp, 1))
|
||||||
}
|
}
|
||||||
|
|
||||||
packet.m_nChannel = 0x03
|
packet.m_nChannel = 0x03
|
||||||
|
@ -1106,8 +1106,8 @@ func sendConnectPacket(r *C.RTMP, cp *C.RTMPPacket) int {
|
||||||
packet.m_nBodySize = C.uint32_t(int(uintptr(decBytePtr(unsafe.Pointer(enc),
|
packet.m_nBodySize = C.uint32_t(int(uintptr(decBytePtr(unsafe.Pointer(enc),
|
||||||
int(uintptr(unsafe.Pointer(packet.m_body)))))))
|
int(uintptr(unsafe.Pointer(packet.m_body)))))))
|
||||||
|
|
||||||
return int(C.RTMP_SendPacket(r, &packet, 1))
|
//return int(C.RTMP_SendPacket(r, &packet, 1))
|
||||||
// return rtmpSendPacket(r, &packet, 1)
|
return rtmpSendPacket(r, &packet, 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
func rtmpConnectStream(r *C.RTMP, seekTime int32) int {
|
func rtmpConnectStream(r *C.RTMP, seekTime int32) int {
|
||||||
|
@ -1269,11 +1269,11 @@ func rtmpSendPacket(r *C.RTMP, packet *C.RTMPPacket, queue int) int {
|
||||||
var packets unsafe.Pointer
|
var packets unsafe.Pointer
|
||||||
|
|
||||||
if packet.m_nChannel >= r.m_channelsAllocatedOut {
|
if packet.m_nChannel >= r.m_channelsAllocatedOut {
|
||||||
log.Println("Resize")
|
|
||||||
n := int(packet.m_nChannel + 10)
|
n := int(packet.m_nChannel + 10)
|
||||||
// TODO: port this
|
packets = C.realloc(unsafe.Pointer(r.m_vecChannelsOut), C.size_t(
|
||||||
packets = realloc(unsafe.Pointer(r.m_vecChannelsOut),
|
unsafe.Sizeof(packet)*uintptr(n)))
|
||||||
int(unsafe.Sizeof(packet)*uintptr(n)))
|
//packets = realloc(unsafe.Pointer(r.m_vecChannelsOut),
|
||||||
|
//int(unsafe.Sizeof(packet)*uintptr(n)))
|
||||||
|
|
||||||
if uintptr(packets) == uintptr(0) {
|
if uintptr(packets) == uintptr(0) {
|
||||||
//C.free(unsafe.Pointer(r.m_vecChannelsOut))
|
//C.free(unsafe.Pointer(r.m_vecChannelsOut))
|
||||||
|
@ -1282,10 +1282,13 @@ func rtmpSendPacket(r *C.RTMP, packet *C.RTMPPacket, queue int) int {
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
r.m_vecChannelsOut = (**C.RTMPPacket)(packets)
|
r.m_vecChannelsOut = (**C.RTMPPacket)(packets)
|
||||||
// TODO: replace this with my memset
|
|
||||||
C.memset(incPtr(unsafe.Pointer(r.m_vecChannelsOut), int(r.m_channelsAllocatedOut),
|
C.memset(incPtr(unsafe.Pointer(r.m_vecChannelsOut), int(r.m_channelsAllocatedOut),
|
||||||
int(unsafe.Sizeof(packet))), 0, C.size_t(unsafe.Sizeof(packet)*
|
int(unsafe.Sizeof(packet))), 0, C.size_t(unsafe.Sizeof(packet)*
|
||||||
uintptr(n-int(r.m_channelsAllocatedOut))))
|
uintptr(n-int(r.m_channelsAllocatedOut))))
|
||||||
|
//memset((*byte)(incPtr(unsafe.Pointer(r.m_vecChannelsOut), int(
|
||||||
|
//r.m_channelsAllocatedOut), int(unsafe.Sizeof(packet))), 0, int(
|
||||||
|
//unsafe.Sizeof(packet)*uintptr(n-int(r.m_channelsAllocatedOut)))))
|
||||||
r.m_channelsAllocatedOut = C.int(n)
|
r.m_channelsAllocatedOut = C.int(n)
|
||||||
}
|
}
|
||||||
prevPacket = *(**C.RTMPPacket)(incPtr(unsafe.Pointer(r.m_vecChannelsOut),
|
prevPacket = *(**C.RTMPPacket)(incPtr(unsafe.Pointer(r.m_vecChannelsOut),
|
||||||
|
@ -1492,7 +1495,8 @@ func rtmpSendPacket(r *C.RTMP, packet *C.RTMPPacket, queue int) int {
|
||||||
var method C.AVal
|
var method C.AVal
|
||||||
var ptr unsafe.Pointer
|
var ptr unsafe.Pointer
|
||||||
ptr = incBytePtr(unsafe.Pointer(packet.m_body), 1)
|
ptr = incBytePtr(unsafe.Pointer(packet.m_body), 1)
|
||||||
amfDecodeString((*byte)(ptr), &method)
|
C.AMF_DecodeString((*C.char)(ptr), &method)
|
||||||
|
//amfDecodeString((*byte)(ptr), &method)
|
||||||
|
|
||||||
if debugMode {
|
if debugMode {
|
||||||
log.Printf("Invoking %v", method.av_val)
|
log.Printf("Invoking %v", method.av_val)
|
||||||
|
@ -1501,7 +1505,8 @@ func rtmpSendPacket(r *C.RTMP, packet *C.RTMPPacket, queue int) int {
|
||||||
if queue != 0 {
|
if queue != 0 {
|
||||||
var txn int
|
var txn int
|
||||||
ptr = incBytePtr(ptr, 3+int(method.av_len))
|
ptr = incBytePtr(ptr, 3+int(method.av_len))
|
||||||
txn = int(amfDecodeNumber((*byte)(ptr)))
|
txn = int(C.AMF_DecodeNumber((*C.char)(ptr)))
|
||||||
|
//txn = int(amfDecodeNumber((*byte)(ptr)))
|
||||||
// TODO: port this
|
// TODO: port this
|
||||||
C.AV_queue(&r.m_methodCalls, (*C.int)(unsafe.Pointer(&r.m_numCalls)), &method,
|
C.AV_queue(&r.m_methodCalls, (*C.int)(unsafe.Pointer(&r.m_numCalls)), &method,
|
||||||
C.int(txn))
|
C.int(txn))
|
||||||
|
|
Loading…
Reference in New Issue