Commit Graph

467 Commits

Author SHA1 Message Date
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