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
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
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
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
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
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
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
7da8c11c58
rtmp: port add_addr_info and remove unused includes
2018-08-30 20:31:19 +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
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
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
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
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
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
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
saxon
11bc432b54
Ported SendCheckBW - tested and working
2018-08-15 04:23:15 +09:30
saxon
6e7dbcda60
Ported SendPublish - tested and working
2018-08-15 04:19:18 +09:30
saxon
a3654269e5
Ported RTMP_SendCreateStream - tested and working
2018-08-15 04:13:24 +09:30
saxon
a61d4a3a60
Ported SendFCPublish - tested and working
2018-08-15 04:05:15 +09:30
saxon
e02c785881
ported SendReleaseStream - tested and working
2018-08-15 04:00:49 +09:30
saxon
6cfabc671f
Ported AV_erase - tested and working
2018-08-15 03:34:18 +09:30
saxon
27006d8fd3
Forgot to actually ues AMFProp_GetNumber - tested and working
2018-08-15 03:16:46 +09:30
saxon
9c460b90cf
Ported AMFProp_GetNumber - tested and working
2018-08-15 03:14:35 +09:30
saxon
137c5a0c14
Ported AMF_GetProp - tested and working
2018-08-15 03:09:57 +09:30
saxon
48042f6813
Ported AMFProp_GetObject - tested and working
2018-08-15 02:54:41 +09:30
saxon
165a855d51
Ported AMFProp_GetString to C_AMFProp_GetString - tested and working
2018-08-15 02:47:40 +09:30
saxon
e1079dab98
Ported C_AMF_Decode - tested and working
2018-08-15 02:36:17 +09:30
saxon
bd4131e974
Added files and line numbers to port todos
2018-08-14 22:59:10 +09:30
saxon
9266fc79d7
Simplified code (identified code that doesn't run in our use case - reducing no of funcs to port
2018-08-14 22:51:25 +09:30
saxon
4723a46c91
Fixed seg fault bug - HandlInvoke ported to C_HandleInvoke - tested and working
2018-08-14 22:30:47 +09:30
saxon
da99cbe86b
Ported HandleInvoke - need to test
2018-08-14 18:22:37 +09:30
saxon
73e2c9977a
Identified functions that need porting using todo comments above HandleInvoke in rtmp.go at +1911 onwards
2018-08-14 16:36:42 +09:30
saxon
96290d295d
Marking functions that need to be ported
2018-08-14 12:52:40 +09:30
saxon
ceb954a328
Ported AVMATCH - not yet tested
2018-08-14 12:45:03 +09:30
saxon
5a3383c27d
Fixing the formatting of HandleInvoke - it was real bad before - probably wrong
2018-08-14 12:33:52 +09:30
saxon
5f1879c58b
In the middle of porting HandleInvoke
2018-08-13 12:15:43 +09:30
saxon
4328f1853b
Started porting HandlInvoke
2018-08-12 21:04:14 +09:30
saxon
1fcb91dcef
Ported AMF_DecodeInt32 to C_AMF_DecodeInt32
2018-08-12 20:45:06 +09:30
saxon
4f1b6ff56f
Ported handleclientbw, handleserverbw and handle
...
changechunksize
2018-08-12 19:47:53 +09:30
saxon
dc6e9a9a4b
Removed code we currently don't need in, C_RTMP_ClientPacket - tested and working
2018-08-12 19:37:56 +09:30
saxon
1c8e7b01fc
Ported RTMP_ClientPacket to C_RTMP_ClientPacket - not tested yet
2018-08-12 18:37:39 +09:30
saxon
1ed14d523d
Ported and using RTMPPacket_Free - tested and working
2018-08-11 14:34:52 +09:30
saxon
9cde6f49f7
ported EncodeInt32LE and now using - tested and working
2018-08-11 13:59:55 +09:30
saxon
e680fc76fa
Using my C_DecodeInt32LE func - tested and working
2018-08-11 13:54:25 +09:30
saxon
d480f427c1
ported DecodeInt32LE - still need to test
2018-08-11 13:52:32 +09:30
saxon
7111456991
Working again but not sure whyyy
2018-08-11 13:48:21 +09:30
saxon
a20beaf75e
Using my rtmp_read_packet is crashing
2018-08-11 12:30:11 +09:30
saxon
6137df30b3
Ported RTMP_GetTime - tested and working
2018-08-11 12:21:22 +09:30
saxon
c8c3b4b3aa
Using my C_SocksNegotiate func - tested and working
2018-08-11 11:44:55 +09:30
saxon
cb2f4549ed
Ported SocksNegotiate to C_SocksNEgotiate - still need to test
2018-08-11 11:40:42 +09:30
saxon
504c79ab27
Starting to port SocksNegotiate
2018-08-11 02:24:50 +09:30
saxon
e6c62026d7
Using my C_RTMP_ParsePlaypath func - tested and working
2018-08-11 02:14:17 +09:30
saxon
fbaafa0f8d
Ported RTMP_ParsePlaypath to C_RTMP_ParsPlaypath - still need to test
2018-08-11 02:00:11 +09:30
saxon
e9a196306c
Now using my C_RTMP_ParseURL func - tested and working
2018-08-11 01:17:48 +09:30
saxon
2e3dfab7e2
Ported RTMP_ParseURL - still need to test
2018-08-11 01:13:25 +09:30
saxon
e552384a42
Ported strstr() from c to go for use in librtmp.go
2018-08-10 23:22:53 +09:30
saxon
85de75a4c6
Cleaned up my structs - they are now all in go
2018-08-10 22:49:43 +09:30
saxon
f0c5dd7bc3
Using my C_RTMP_ConnectStream func - tested and working
2018-08-10 22:30:22 +09:30
saxon
9fcdfe6367
Using my C_RTMP_Write func - tested and working
2018-08-10 22:27:51 +09:30
saxon
44187cdc22
Using my C_RTMP_IsConnected - tested and working
2018-08-10 22:20:11 +09:30
saxon
ed536b2cdd
Started using session interface again - tested and everything seems to be working
2018-08-10 22:17:01 +09:30
saxon
1c7fc111f0
changed int to int32 in structs
2018-08-10 16:50:53 +09:30
saxon
a007bbeef1
added data length check to sliceToPtr
2018-08-10 16:46:39 +09:30
saxon
db2f6a4756
Use len(... instead of sizeof in C_RTMP_SetupUrl
2018-08-10 16:43:19 +09:30
saxon
358e32d2ac
Fixed alot of errors in code, now runnable
2018-08-10 16:10:08 +09:30