Dan Kortschak
e5faa396c1
rtmp: use C.CString
...
Now GODEBUG=cgocheck=0 is not needed.
2018-09-26 12:10:03 +09:30
Dan Kortschak
d93357bb6f
rtmp: remove unused functions
2018-09-26 12:10:03 +09:30
Dan Kortschak
43b3c8631d
rtmp: remove unused memset
2018-09-26 12:10:03 +09:30
Dan Kortschak
f25661ec2d
rtmp: extract socket code into separate file
2018-09-26 12:10:03 +09:30
Dan Kortschak
29f7d24623
rtmp: clean up C_HandShake
2018-09-26 12:10:03 +09:30
Dan Kortschak
cb47db73c8
rtmp: make C_RTMPPacket.m_body a []byte
...
Punt on, but prepare for, the more ridiculous C-isms.
2018-09-26 12:10:03 +09:30
Dan Kortschak
467984513b
rtmp: make C_CloseInternal reconnect a bool
2018-09-26 12:10:03 +09:30
Dan Kortschak
0eb66a6ece
rtmp: make C_HandleInvoke take a []byte
2018-09-26 12:10:03 +09:30
Dan Kortschak
b1ecf52a44
rtmp: fix incorrect type
2018-09-26 12:10:03 +09:30
Dan Kortschak
9cfe8c430b
rtmp: use []byte for RTMP message sends
2018-09-26 12:10:03 +09:30
Dan Kortschak
eccc9377ab
rtmp: use []byte for encoding in C_SendConnectPacket
2018-09-26 12:10:03 +09:30
Dan Kortschak
55e454453b
rtmp: remove unnecessary zeroing
2018-09-26 12:10:03 +09:30
Dan Kortschak
eeb1e1933b
rtmp: make C_ReadN take a []byte
2018-09-26 12:10:03 +09:30
Dan Kortschak
5f3f50373b
rtmp: clean up C_SocksNegotiate
2018-09-26 12:10:03 +09:30
Dan Kortschak
d1f870223c
rtmp: make C_WriteN take a []byte
2018-09-26 12:10:03 +09:30
Dan Kortschak
7b69015873
rtmp: make C_RTMPSockBuf_Send take a []byte
2018-09-26 12:10:03 +09:30
Dan Kortschak
bb6ee2a3ce
rtmp: simplify recv call in C_RTMPSockBuf_Fill
2018-09-26 12:10:03 +09:30
Dan Kortschak
b9fcb2202f
rtmp: make C_RTMPSockBuf.sb_timedout a bool
2018-09-26 12:10:03 +09:30
Dan Kortschak
9b5d62a99a
rtmp: clarify C_RTMPSockBuf_Fill
...
The while loop in the C is only there to allow sigint to be caught and
ignored when user interupts are not allowed.
2018-09-26 12:10:03 +09:30
Dan Kortschak
0cfabbbad0
rtmp: remove unused functions
2018-09-26 12:10:03 +09:30
Dan Kortschak
ea5c54c85d
rtmp: remove unsafe and C imports from amf.go
...
unsafe importing functions moved to rtmp.go.
2018-09-26 12:10:03 +09:30
Dan Kortschak
61798fd4a6
rtmp: make C_AMF_Decode take a []byte
...
Also remove never-executed and incorrect error retry logic.
2018-09-26 12:10:03 +09:30
Dan Kortschak
e649a94612
rtmp: remove unused C_AMF_DecodeArray
2018-09-26 12:10:03 +09:30
Dan Kortschak
d88f0601bb
rtmp: make C_AMF_DecodeArray take a []byte
...
This is unused.
2018-09-26 12:10:03 +09:30
Dan Kortschak
7f2385b8a2
rtmp: make C_AMFProp_Decode take a []byte
...
Also fix errors that exists in the librtmp implementation that resulted
in failure to progress the data pointer.
2018-09-26 12:10:03 +09:30
Dan Kortschak
7077165e63
rtmp: removed unused C_AMF3Read{Integer,String}
2018-09-26 12:10:03 +09:30
Dan Kortschak
6b2ddd3deb
rtmp: make C_AMF3Read{Integer,String} take a []byte
...
These functions are unused.
2018-09-26 12:10:03 +09:30
Dan Kortschak
04bd966c89
rtmp: make encoders return []byte
2018-09-26 12:10:03 +09:30
Dan Kortschak
47e6db5ca1
rtmp: make C_AMF_EncodeArray take a []byte
2018-09-26 12:10:03 +09:30
Dan Kortschak
d01109ced6
rtmp: make C_AMF_EncodeEcmaArray take a []byte
2018-09-26 12:10:03 +09:30
Dan Kortschak
d38cd89bc3
rtmp: make C_AMF_Encode take a []byte
2018-09-26 12:10:03 +09:30
Dan Kortschak
e0311dae58
rtmp: make C_AMF_PropEncode take a []byte
2018-09-26 12:10:03 +09:30
Dan Kortschak
b8742e9927
rtmp: make C_AMFObject hold a []C_AMFObjectProperty
2018-09-26 12:10:03 +09:30
Dan Kortschak
52f34e4a85
rtmp: make C_AMF_EncodeNamed{Boolean,Number,String} take []byte
2018-09-26 12:10:03 +09:30
Dan Kortschak
458eb932aa
rtmp: make C_AMF_EncodeNumber take []byte
2018-09-26 12:10:03 +09:30
Dan Kortschak
00b4e167f4
rtmp: make C_AMF_EncodeBoolean take a []byte
2018-09-26 12:10:03 +09:30
Dan Kortschak
cf87480070
rtmp: make C_AMF_EncodeInt{24,32,String} take []byte
2018-09-26 12:10:03 +09:30
Dan Kortschak
73dd7f3a7c
rtmp: remove redundant int16 encoder
2018-09-26 12:10:03 +09:30
Dan Kortschak
a2620e003b
rtmp: make C_EncodeInt32LE take a []byte dst
2018-09-26 12:10:03 +09:30
Dan Kortschak
4f2beed32f
rtmp: make decoders take []byte
2018-09-26 12:10:03 +09:30
Dan Kortschak
b86ba9e49a
rtmp: use bool for m_bSendEncoding and m_bSendEncoding
2018-09-26 12:10:03 +09:30
Dan Kortschak
b45f70bdf8
rtmp: make C_RTMP.m_vecChannelsOut a []*C_RTMPPacket
2018-09-26 12:10:03 +09:30
Dan Kortschak
0c124eb761
rtmp: make C_RTMP.m_vecChannelsIn a []*C_RTMPPacket
2018-09-26 12:10:03 +09:30
Dan Kortschak
46786f2436
rtmp: simplify packet allocation
2018-09-26 12:10:03 +09:30
Dan Kortschak
66cdea021c
rtmp: remove incorrect and redundant calloc implementation
2018-09-26 12:10:03 +09:30
Dan Kortschak
f237b5453e
rtmp: make C_RTMP.m_channelTimestamp a []int32
2018-09-26 12:10:03 +09:30
Dan Kortschak
86e07e2b32
rtmp: make C_RTMPChunk.c_chunk a []byte
2018-09-26 12:10:03 +09:30
Dan Kortschak
f387b827ae
rtmp: remove unnecessary type conversions
2018-09-26 12:10:03 +09:30
Dan Kortschak
6978c44de6
rtmp: make m_methodCalls field a slice
2018-09-26 12:10:03 +09:30
Dan Kortschak
26e3bd264a
rtmp: remove read type
2018-09-26 12:10:03 +09:30
Dan Kortschak
ae53aa146e
rtmp: remove librtmp
2018-09-15 07:27:27 +09:30
Dan Kortschak
f0462ee511
rtmp: remove unused fields
...
reported by honnef.co/go/tools/cmd/unused
rtmp_headers.go:145:2: field sb_ssl is unused (U1000)
rtmp_headers.go:167:2: field subscribepath is unused (U1000)
rtmp_headers.go:168:2: field usherToken is unused (U1000)
rtmp_headers.go:170:2: field pubUser is unused (U1000)
rtmp_headers.go:171:2: field pubPasswd is unused (U1000)
rtmp_headers.go:173:2: field edepth is unused (U1000)
rtmp_headers.go:175:2: field stopTime is unused (U1000)
rtmp_headers.go:180:2: field pFlags is unused (U1000)
rtmp_headers.go:189:2: field bufpos is unused (U1000)
rtmp_headers.go:190:2: field buflen is unused (U1000)
rtmp_headers.go:191:2: field timestamp is unused (U1000)
rtmp_headers.go:195:2: field initialFrameType is unused (U1000)
rtmp_headers.go:197:2: field metaHeader is unused (U1000)
rtmp_headers.go:198:2: field initialFrame is unused (U1000)
rtmp_headers.go:199:2: field nMetaHeaderSize is unused (U1000)
rtmp_headers.go:200:2: field nInitialFrameSize is unused (U1000)
rtmp_headers.go:223:2: field m_mediaStamp is unused (U1000)
rtmp_headers.go:224:2: field m_pauseStamp is unused (U1000)
rtmp_headers.go:245:2: field m_polling is unused (U1000)
rtmp_headers.go:248:2: field m_clientID is unused (U1000)
2018-09-09 19:36:55 +09:30
Dan Kortschak
fed685b107
rtmp: fix test
2018-09-08 16:07:00 +09:30
Dan Kortschak
834c2bc632
rtmp: remove C_AVal
2018-09-07 20:40:46 +09:30
Dan Kortschak
dde20e1a7b
rtmp: more simplification of url parsing
2018-09-07 19:41:55 +09:30
Dan Kortschak
9212bed0ed
rtmp: simplify url parsing
2018-09-07 07:02:12 +09:30
Dan Kortschak
bf2a2ec7a8
rtmp: remove C_AVal from C_RTMP_METHOD
2018-09-06 19:18:17 +09:30
Dan Kortschak
28f5ec6a47
rtmp: make isready return a bool
2018-09-06 18:40:47 +09:30
Dan Kortschak
b1c904ee22
rtmp: reduce CAV/AVC conversions
2018-09-06 18:31:14 +09:30
Dan Kortschak
42f7316f09
rtmp: ensure we catch invalid methods
2018-09-06 18:06:45 +09:30
Dan Kortschak
569cc100fa
retmp: simplify big switch
2018-09-06 18:05:01 +09:30
Dan Kortschak
97127030b3
rtmp: remove C_AVal from RTMP type
2018-09-06 16:52:48 +09:30
Dan Kortschak
fed9d366c6
rtmp: remove C_Aval from C_AMFObjectProperty
2018-09-06 16:49:25 +09:30
Dan Kortschak
c4800034a6
rtmp: remove C_AVal from P_vu
2018-09-06 16:10:15 +09:30
Dan Kortschak
ed40f36ffe
rtmp: remove C_AVal from C_AMF3ReadString
...
Note that this function is not used.
2018-09-06 15:57:09 +09:30
Dan Kortschak
f005c31b44
rtmp: encode/decode typed boolean
2018-09-06 15:36:27 +09:30
Dan Kortschak
470e61a465
rtmp: remove C_AVal from encoder/decoder functions
2018-09-06 15:32:29 +09:30
Dan Kortschak
019a1f1c90
rtmp: make string decoding a returning function
2018-09-06 12:46:07 +09:30
Dan Kortschak
a626a740ea
rtmp: remove missed comments
2018-09-06 12:29:03 +09:30
Dan Kortschak
aac0801cdb
rtmp: use bytes.Equal for signature matching
2018-09-06 12:26:35 +09:30
Dan Kortschak
6c6ed78e8f
rtmp: convert boolish ints to bool
2018-09-06 12:18:45 +09:30
Dan Kortschak
f3a0968fb4
rtmp: port C_CloseInternal
2018-09-06 11:46:48 +09:30
Dan Kortschak
8674b23b28
rtmp: port C_SendFCUnpublish
2018-09-06 11:26:52 +09:30
Dan Kortschak
b7c148fd93
rtmp: simplify body pointer setup
2018-09-06 11:11:29 +09:30
Dan Kortschak
c31021149d
rtmp: remove redundant comments
2018-09-06 11:04:08 +09:30
Dan Kortschak
7bfea781b4
rtmp: remove redundant size adjustment
2018-09-04 14:07:49 +09:30
saxon
078ba12093
rtmp: tried to replicate C behaviour by returning would be no of bytes written
2018-09-02 14:20:25 +09:30
saxon
8cf8f07b9c
rtmp: corrected C_RTMP_Write c file line number
2018-09-02 13:40:18 +09:30
saxon
3d3ec6b893
rtmp: check that len(buf) is not less than 4 before buf = buf[4:]
2018-09-02 13:31:52 +09:30
saxon
6da0967b80
rtmp: removed check to see if byte slice length is less that 0 - which doesn't happen
2018-09-02 12:27:25 +09:30
saxon
9b152f0495
rtmp: removed math.Abs in C_RTMP_Write for checking noOfBytesRead
2018-09-02 11:35:32 +09:30
saxon
24968c83b3
rtmp: removed use of s2 and replaced with len(buf)
2018-09-02 11:32:11 +09:30
saxon
390c882792
rtmp: removed comments containing previous code in C_RTMP_Write
2018-09-02 10:21:10 +09:30
saxon
269c8176a1
rtmp: changed data slice to buf to simplify
2018-09-02 10:19:29 +09:30
saxon
e861420e69
Merge branch 'master' into rtmp-unsafe-cleanup
2018-09-02 00:04:32 +09:30
saxon
b3c25d3bc7
rtmp: initial commit
2018-09-02 00:03:30 +09:30
Dan Kortschak
4fa4dce908
rtmp: remove redundant reconversions
2018-09-01 23:35:28 +09:30
Dan Kortschak
05bed207b3
rtmp: remove unnecessary int conversions
2018-09-01 23:31:20 +09:30
Dan Kortschak
74e468dfb3
rtmp: remove unnecessary type conversions with unconvert
2018-09-01 23:31:08 +09:30
saxon
287c3d32ac
rtmp: tried removing some unsafe pointers in C_RTMP_Write - ended up breaking it. Youtube tells me it's starting but it now goes live
2018-09-01 23:23:07 +09:30
Dan Kortschak
40785e7454
rtmp: make tests pass
2018-09-01 23:20:32 +09:30
Dan Kortschak
c494da9a1d
rtmp: remove indxBytePtr
...
Manual clean up.
2018-08-31 12:01:34 +09:30
Dan Kortschak
e235da36a1
rtmp: simplify slice conversion
...
Second pass:
gofmt -w -r 'ptrToSlice(p,i)->(*[_Gi]byte)(p)[:i]' {rtmp,parseurl,amf}.go
2018-08-31 11:43:49 +09:30
Dan Kortschak
52c6b1f60a
rtmp: simplify unsafe slice conversion
...
Mechanical:
gofmt -w -r 'ptrToSlice(unsafe.Pointer(p),i)->(*[_Gi]byte)(unsafe.Pointer(p))[:i]' {rtmp,parseurl,amf}.go
2018-08-31 11:42:22 +09:30
Dan Kortschak
0053034e94
rtmp: simplify indexing
...
This is a mechanical change in line with the previous:
gofmt -w -r '*indxBytePtr(p,i)->(*[_Gi]byte)(p)[i]' {rtmp,parseurl,amf}.go
2018-08-31 11:29:41 +09:30
Dan Kortschak
18e1e7fc45
rtmp: simplify indexing
...
This is a mechanical change with the addition of a constant:
gofmt -w -r '*indxBytePtr(unsafe.Pointer(p), i)->(*[_Gi]byte)(unsafe.Pointer(p))[i]' {rtmp,parseurl,amf}.go
2018-08-31 11:24:42 +09:30
Dan Kortschak
6187df1c20
rtmp: remove deadcode and make tests pass
2018-08-31 11:13:59 +09:30
Dan Kortschak
4aad7bac04
rtmp: remove rtmp.c
2018-08-30 20:34:09 +09:30
Dan Kortschak
7da8c11c58
rtmp: port add_addr_info and remove unused includes
2018-08-30 20:31:19 +09:30
saxon
e0c3cd3b32
rtmp: added more funcs to NOT_PORTED and removed commented out sections from AMFProp_Decode in amf.go
2018-08-28 20:10:13 +09:30
saxon
01f3caa8ec
rtmp: created NOT_PORTED.txt to hold names of funcs not ported and also deleted sections of code not run in our case
2018-08-28 19:18:13 +09:30
saxon
766d30e2f6
rtmp: setting r.m_nClientBW2 to 255 rather than 0 (which was incorrect in C_HandlClientBW
2018-08-28 18:50:51 +09:30
saxon
8318f34be4
rtmp: removed case braces in C_HandlInvoke and replaced code not run with panics in case we do get those cases
2018-08-28 18:40:10 +09:30
saxon
bd630fd893
rtmp: added all consts/flags from C library
2018-08-26 14:35:04 +09:30
saxon
b846dbf2d7
rtmp: continued to port C_SendFCUnpublish - paused - need to work out best way to get rid of unsafe pointers
2018-08-26 00:27:38 +09:30
saxon
9384927113
rtmp: start porting C_SendFCUnpublish
2018-08-26 00:18:28 +09:30
saxon
9b67dc1ef0
rtmp: added comments above C_RTMP_Close and C_CloseInternal to indicate location in C library, and reordered to better resemble C library
2018-08-26 00:13:08 +09:30
saxon
7e6b2ee0b2
rtmp: uncommented usage of C_RTMP_Close - created todos in C_CloseInternal
2018-08-25 23:49:54 +09:30
saxon
ba9ce9b37f
rtmp: created rtmp_sys.go file to emulate rtmp_sys.c in c librtmp library and moved SET_RCVTIMEO there
2018-08-25 23:29:40 +09:30
saxon
6c84506af2
rtmp: dealt with unsupported cases in C_RTMP_ClientPacket
2018-08-25 23:22:22 +09:30
saxon
77393a1de7
rtmp: simplified C_RTMP_Alloc and zeroed C_RTMP object in C_RTMP_Init
2018-08-25 22:32:24 +09:30
saxon
0ed5d4bc72
rtmp: put C_RTMPPacket_IsReady in rtmp_headers.go - consistent with C librtmp structure
2018-08-25 22:28:59 +09:30
saxon
a08c29ce81
rtmp: moved C_AVMATCH and C_AVC into amf_headers.go - consistent with C structure
2018-08-25 22:27:20 +09:30
saxon
36dfa31c48
rtmp: fixed broken cases, removed braces from cases, added panic to unsupported types in AMFPRop_Decode
2018-08-25 17:37:36 +09:30
saxon
ecb3f3f4c2
rtmp: finished reordering amf.go such that it resembles the C amf.c file more closely - also readded C_AV_Queue, which I must have deleted somehow
2018-08-24 22:30:40 +09:30
saxon
d23ab3b1a0
rtmp: Finished reordering funcs in rtmp.go to better reflect order in rtmp.c in C librtmp
2018-08-24 18:50:04 +09:30
saxon
43701a252f
rtmp: start reordering funcs in rtmp.go, still need to do a few more
2018-08-24 10:43:34 +09:30
saxon
1441d1d968
rtmp: reordered struct order in rtmp_headers.go such that it matches up with order in rtmp.h under C librtmp
2018-08-24 10:34:10 +09:30
saxon
e22516d9cb
rtmp: fixed order of struct declarations in amf_headers.go to match that of amf.h under C librtmp?
2018-08-24 10:30:24 +09:30
saxon
dfa146f276
rtmp: file header comments to reflect file name and appropriate authors
2018-08-24 10:25:36 +09:30
saxon
9cb70ac06b
rtmp: created session.go file and moved librtmp wrapper functions into this file, i.e. NewSession, Open, Close and Write
2018-08-24 09:52:51 +09:30
saxon
4fa0637fa1
rtmp: moved amf structs into amf_headers.go and rtmp structs into rtmp_headers.go
2018-08-24 09:47:11 +09:30
saxon
dec662d19e
rtmp: created rtmp_headers.go and amf_headers.go files to store stuff that was in rtmp.h and amf.h files respectively
2018-08-24 09:41:02 +09:30
saxon
0adddd1833
rtmp: started reordering funcs in rtmp.go - realised that I need a rtmp_headers.go file to store stuff that's from rtmp.h
2018-08-24 09:38:17 +09:30
saxon
898c843f18
rtmp: added appropriate imports to each file to correct build errors
2018-08-24 09:33:05 +09:30
saxon
68b9f2a5e0
rtmp: created parseurl file and moved C_RTMP_ParseURL and C_RTMP_ParsePlaypath from to rtmp.go to parseurl.go
2018-08-24 07:04:01 +09:30
saxon
8f3d4b75bf
rtmp: moved all AMF funcs from rtmp.go to amf.go
2018-08-24 06:58:22 +09:30
saxon
7a9fef826c
rtmp: moved amf structs from rtmp.go to amf.go
2018-08-24 06:49:47 +09:30
saxon
595fa5a469
rtmp: tracking new file amf.go
2018-08-24 06:47:13 +09:30
saxon
6019bb4559
rtmp: moved amf enum from rtmp.go to amf.go
2018-08-24 06:44:15 +09:30
saxon
ce95cad9ef
rtmp: addedd additional licensing information in rtmp.go header
2018-08-24 06:14:37 +09:30
saxon
fbd94e659f
rtmp: updated cgo LDFLAGS so that not outdated and does not cause undefined symbol runtime error on pi
2018-08-24 06:11:21 +09:30
saxon
6dd791f7e1
rtmp: changed call to allocate to call to malloc as allocate does not exist anymore
2018-08-21 18:44:26 +09:30
saxon
5f7d84a120
revid: getting rid of crt dependency and using C.realloc for the time being
2018-08-21 18:42:13 +09:30
Alan Noble
ce04e5f5ce
revid: convert size for realloc to int32 so that compiler doesn't complain when on go1.10
2018-08-21 17:58:04 +09:30
saxon
aae9acdd64
Removed unused consts
2018-08-20 11:57:13 +09:30
saxon
1b4db5b0dc
Removed session interface and mad session struct exported
2018-08-20 10:22:36 +09:30
saxon
d7d2d3b9d5
Got rid of all C.realloc and replaced with my realloc func - tested and working
2018-08-18 15:48:49 +09:30
saxon
54ee353f6b
Wrote calloc func and replaced C.calloc with it - tested and working
2018-08-18 14:01:38 +09:30
saxon
eda42f4e10
Got rid of all C.mallocs and changed to my malloc, also removed all C.free - tested and working
2018-08-18 13:56:10 +09:30
saxon
efb5b75f1a
Started using my structs - tested and working
2018-08-18 13:51:07 +09:30
saxon
3da48c15d3
removed unused code
2018-08-18 12:54:40 +09:30
saxon
aef3cd3001
Using AMFProp_Decode everywhere -tested and working
2018-08-15 20:46:38 +09:30
saxon
1e6bf462da
Chedk that everything is working
2018-08-15 20:43:47 +09:30
Dan Kortschak
8be354a6d5
Port AMF3ReadInteger, AMF3ReadString, AMF3DC_AddProp and AMFProp_SetName
2018-08-15 19:27:14 +09:30
Dan Kortschak
346e63ca7c
Finish up most of AMFProp_Decode
...
Punt one call, AMF3_Decode, that has AMF3ReadInteger, AMF3ReadString,
AMF3CD_AddProp, AMF3Prop_Decode and AMFProp_SetName as deps.
2018-08-15 17:29:05 +09:30
saxon
2e608aba88
In the middle of AMFProp_Decode
2018-08-15 05:28:34 +09:30
saxon
6113174e3d
Ported AMF_AddProp - tested and working
2018-08-15 04:47:43 +09:30
saxon
a2931934a6
Ported AMFProp_Reset - tested and working
2018-08-15 04:33:34 +09:30
saxon
62a1f6dec1
Ported AMF_Reset - tested and working
2018-08-15 04:28:34 +09:30