Commit Graph

290 Commits

Author SHA1 Message Date
saxon 27081e1ea9 flv: added back dans NewEncoder write fail code 2019-01-11 23:39:49 +10:30
Dan Kortschak 65e2ab3f6a stream/mts{,psi}: fix comments 2019-01-11 22:29:48 +10:30
saxon b63c55ae48 flv: fixed NewEncoder so that we still create encoder even if the HeaderByte write fails 2019-01-11 18:09:32 +10:30
saxon 83f5e9e68d rtmp: no longer hardcoding frame test file path 2019-01-11 18:03:07 +10:30
saxon 10860e4e48 lex: modified h264 lexer to consider nal type 6 packets, i.e. sei packets, which seem important fro repeating single frames 2019-01-11 17:20:56 +10:30
Dan Kortschak 9d70949e2e stream/flv: write first previous tag size 2019-01-11 14:55:05 +10:30
Dan Kortschak 7f07c4cb20 revid,stream/flv: add back initial header write 2019-01-11 13:53:05 +10:30
saxon 9ca7288622 psi: removed conflict with master 2019-01-11 13:17:14 +10:30
saxon 4e62606622 updating this branch with master
Merge branch 'master' into psi-pr-cleanup
2019-01-11 13:15:23 +10:30
Saxon Milton 28d23ad200 Merged in remove-read-funcs-in-psi-pkg (pull request #98)
mts/psi: remove read funcs as we're not using them at this time

Approved-by: kortschak <dan@kortschak.io>
2019-01-11 02:22:40 +00:00
saxon 62a2e4a09a psi: made addCrc less stupid by stopping the make of a redundant 4 bytes 2019-01-11 11:23:53 +10:30
saxon f88115f811 mts: fixed comment 2019-01-11 10:57:53 +10:30
saxon 3ac40bac99 psi: using letters in hex for bytes in psi_test.go 2019-01-11 10:54:25 +10:30
saxon f752712dec psi: made some comments in psi_test.go more english like and corrected some errors 2019-01-10 17:34:54 +10:30
saxon b6c0433476 psi: made some global vars for pat and pmt tables unexported in psi_test.go 2019-01-10 17:32:42 +10:30
saxon 4b09a4f60a psi: trim() => trimTo() 2019-01-10 17:31:14 +10:30
saxon 7fe8356b11 mts: nonembeded mutex in TimeLocation 2019-01-10 17:26:48 +10:30
saxon 304d5501ac mts: improved some commenting 2019-01-10 11:12:33 +10:30
saxon 459b1895de mts: got rid of blank line 2019-01-09 09:16:57 +10:30
saxon f432950c28 mts: GetLocation()=>Location() and GetTimeStamp()=>TimeStamp() 2019-01-09 09:15:08 +10:30
saxon c76c4aafb9 mts: fixed some commenting 2019-01-09 09:12:46 +10:30
saxon cda6999639 psi: not using named byte in asByte 2019-01-08 20:06:07 +10:30
saxon fc7f5501e0 psi: removed conditional in HasTime and HasLocation and just used result of logic operation 2019-01-08 20:04:45 +10:30
saxon d665bece23 psi: added dan as an author to crc.go 2019-01-08 20:02:59 +10:30
saxon 6cb56421d3 mts: add getters and setters with mutex to the TimeLocation struct. 2019-01-08 20:01:30 +10:30
saxon ddf7a94ab8 mts: made standard pat and pmt tables unexported 2019-01-08 19:46:24 +10:30
saxon a63013ca4a mts: UCed some words and any std => standard 2019-01-08 19:44:33 +10:30
saxon b75dfaa4de mts: added full stops to some comments 2019-01-08 19:42:46 +10:30
saxon 872d689957 psi: PatTableID=>patID and PmtTableID=>pmtID i.e. also made unexported 2019-01-08 08:42:30 +10:30
saxon ffc1af2cd4 psi: removed declaration and initialisation of standard psi structures in std.go as this is dangerous 2019-01-07 17:13:50 +10:30
saxon 561e603d96 psi: ran gofmt -s -w on files 2019-01-07 17:04:57 +10:30
saxon d19327b6d5 psi: renamed std... to standard... 2019-01-07 17:02:57 +10:30
saxon 2284d38492 psi: removed more unnecessary conversions 2019-01-07 17:00:48 +10:30
saxon 83e4a4c5c5 psi: removing uneccessary conversion in psi_test.go 2019-01-07 16:58:12 +10:30
saxon b2b5db1f1f psi: using lowercase letters in hex 2019-01-07 16:32:18 +10:30
saxon 13b8c23351 psi: removed byteToBool func as can do this by other means 2019-01-07 16:30:48 +10:30
saxon ba9e5a3136 psi: renamed SD (specific data) interface to SpecificData 2019-01-07 16:27:18 +10:30
saxon 0c0afa8bde psi: removed redundent return in updateCrc 2019-01-07 16:25:08 +10:30
saxon 26f26cbeee psi: using binary.BigEndian.PutUin32 to put crc32 into the psi 2019-01-07 16:23:38 +10:30
saxon fa0154ad3d psi: using b instead of out for updateCrc 2019-01-07 16:20:06 +10:30
saxon 6ebb982238 psi: improved comment for updateCrc 2019-01-07 16:18:20 +10:30
saxon 261118187b psi: using copy inside UpdateLocation() instead of range 2019-01-07 16:16:53 +10:30
saxon 0d3abd5798 psi: using own trim function to get rid of null chars in gps string 2019-01-07 14:24:54 +10:30
saxon 8cf2181958 psi: modified error messages for updateTime and updateLocation to make clearer 2019-01-07 13:56:25 +10:30
saxon 31683b4194 psi: HasTime and HasLocation now return bool instead of error 2019-01-07 13:49:47 +10:30
saxon a0079ef046 psi: created crc.go to put crc stuff in and renamed op.go to helpers.go 2019-01-07 12:26:58 +10:30
saxon 239e1dfc93 psi: made TimeLocation struct member vars exported 2019-01-07 12:05:05 +10:30
saxon 7a73f69fe9 psi: MetaData struct => TimeLocation and also not initialising anymore 2019-01-07 11:59:46 +10:30
saxon fc72f0734a mts/psi: remove read funcs as we're not using them at this time 2019-01-07 10:30:13 +10:30
Dan Kortschak 05e0672e89 stream/flv: remove unnecessary header write on creation 2019-01-05 17:56:55 +10:30
saxon fb5acb8e6f psi: fix crc update issue by not indexing from end of pmt slice, but rather getting syntax section length field and using that to index crc 2019-01-03 17:56:08 +10:30
Saxon Milton 04203ae744 psi: missed a loc =>location conversion 2019-01-03 02:10:32 +00:00
Saxon Milton 474b3a324a removing changes not relevant to this PR 2019-01-03 02:08:55 +00:00
saxon 1436d1f256 mts: fixed build error 2019-01-02 10:36:46 +10:30
saxon d5b6e91892 rtp: using 'size' instead of 'len' 2019-01-02 10:32:48 +10:30
saxon 692f5772a1 mts: removed usage of word len, and removed empty import 2019-01-02 10:26:34 +10:30
saxon 52b8f7bf54 mts: replaced usage of Len with Size for PktSize and PayloadSize etc 2019-01-02 10:23:02 +10:30
saxon e1dd89b348 rtp: using static memory to hold bytes of rtp pkts 2018-12-27 14:44:30 +10:30
saxon c739b10f86 mts: removed repeated use of addPadding func 2018-12-27 14:11:23 +10:30
saxon b28861d690 pes: MaxPesSize to MaxPesLen 2018-12-27 13:36:38 +10:30
saxon 49a6acbde8 mts: some more const naming improvements 2018-12-27 13:29:08 +10:30
saxon 3a872d46c8 mts: improved some const naming 2018-12-27 13:25:51 +10:30
saxon e386f06adf mts: fixed slicing issue 2018-12-27 13:19:11 +10:30
saxon 211a6390d4 mts: using static arrays to store mpegts and pes packets 2018-12-27 13:01:38 +10:30
saxon 618fadd90b revid: trying to fix jumpy rtp 2018-12-14 20:05:10 +10:30
saxon d8587bdbe2 psi: don't panic when LocationStrBytes get's non 32 byte str 2018-12-14 18:46:19 +10:30
saxon fbdce669e7 revid: cleaned and added commenting 2018-12-14 16:46:36 +10:30
saxon 239b52ad84 psi: simplified LocationStrBytes 2018-12-14 16:37:13 +10:30
saxon 7c24c79287 psi: using binary.BigEndian.Uint64 for TimeFrom 2018-12-14 16:31:13 +10:30
saxon f7991cd0af psi: using array in TimeBytes() 2018-12-14 16:22:48 +10:30
saxon 404a2b6c99 psi: d to dst in updateTime 2018-12-14 16:21:56 +10:30
saxon d961cf172d psi: indicated that time data size const is in bytes to be consistent with storage of uint64 2018-12-14 16:20:20 +10:30
saxon e50a8e6995 revid: zerod to zeroed in comment 2018-12-14 16:18:18 +10:30
saxon 24f0be9917 mts: FindPmt checks validity of data length 2018-12-14 16:15:02 +10:30
saxon 0b9f0f49fe psi: HasTime rather than chkTime 2018-12-14 16:11:45 +10:30
saxon ac11b281c5 mts: patTable and pmtTable in var block instead of init func now 2018-12-14 16:09:53 +10:30
saxon cf4c44f4d5 psi: using HasLocation or HasTime instead of ChkLocation or ChkTime 2018-12-14 16:06:01 +10:30
saxon 21dd2f4b70 revid: using location instead of gps in names 2018-12-14 16:02:47 +10:30
saxon f1ee09ad7b revid: improved naming of encoder globals for location and timestamp 2018-12-14 15:59:44 +10:30
saxon dc6964d41c psi: trimming excess bytes in gps data from pmt 2018-12-14 13:46:10 +10:30
saxon 798add533b revid + mts +psi: wrote func to find pmt in byte slice, wrote func to get gps, changed the way in which psi are insterted, based no of mpgets packets to send on time, i.e. per second 2018-12-14 13:35:56 +10:30
saxon 7fa245bca3 psi: wrote testing for get gps from pmt byte slice 2018-12-14 11:15:49 +10:30
saxon afc7c1f086 mts: actually updating time and gps now 2018-12-13 17:13:34 +10:30
saxon 05fd7c37d1 psi: fixed issue with std psi 2018-12-13 17:06:39 +10:30
saxon b78904ac72 revid + psi: getting metadata from replies now 2018-12-13 15:51:51 +10:30
saxon 35d86b559d revid & psi: fixed playback issues... added padding to pat/pmt tables 2018-12-13 15:09:23 +10:30
saxon 9a7d7a9ab3 revid: modified http sender to look at reply of send and get time and gps data to mts package 2018-12-13 12:59:40 +10:30
saxon 2ca393c276 psi: improved commenting in op.go 2018-12-13 12:52:23 +10:30
saxon fe2c5d1033 psi: created const for pmt with time and gps program inormation length 2018-12-13 12:52:23 +10:30
saxon 283689ea6c psi: added a std template PSI struct for pmt with time and gps descriptors to make things easier 2018-12-13 12:52:23 +10:30
saxon 41d98b4dcd psi: added some commenting above testing funcs 2018-12-13 12:52:23 +10:30
saxon f320746b5d psi: wrote test for gpsUpdate - appears to be working 2018-12-13 12:52:23 +10:30
saxon 3cf6c00991 psi: restructured psi_test.go and started writing tests for gps 2018-12-13 12:52:23 +10:30
saxon 14e5676f6f psi: added file headers 2018-12-13 12:52:23 +10:30
saxon 4598d51e79 psi: started commenting and restructuring psi_test.go to make neater 2018-12-13 12:52:23 +10:30
saxon d8c46eefaa psi: restructuring to make neater 2018-12-13 12:52:23 +10:30
saxon 68eec9de98 psi: wrote func for update timstamp - as well as test (passes). Also wrote func for get timestamp - as well as test (passes) 2018-12-13 12:52:23 +10:30
saxon c6cf3e7244 psi: wrote test for timestampToBytes and also for pmt with timestamp to bytes - everything working as expected 2018-12-13 12:52:23 +10:30
saxon a5fa6bed5f psi: wrote first tests, for simple pat and pmt tables. Pat writing seems to be working 2018-12-13 12:52:23 +10:30
saxon 43abed9522 psi: starting to remove psi stuff from encoder.go and put into psi package 2018-12-13 12:52:23 +10:30
saxon 9e7b65ac6a psi: working on psi test file 2018-12-13 12:52:23 +10:30
saxon 8fe430f5f5 psi: start writing testing file 2018-12-13 12:52:23 +10:30
saxon 94cefe848a psi: wrote read func for pat, pmt, desc and started writing for essd 2018-12-13 12:52:23 +10:30
saxon 2ffa0f9b7b psi: starting to write read functions for psi and tss 2018-12-13 12:52:23 +10:30
saxon ba35615964 psi: completed writing Bytes() for PSI table 2018-12-13 12:52:23 +10:30
saxon 42038a8cb9 psi: wrote Bytes() for TSS and almost done writing for PSI 2018-12-13 12:52:23 +10:30
saxon fa0498bc52 psi: wrote bytes() for pat 2018-12-13 12:52:23 +10:30
saxon 1fd9bed1e4 psi: wrote bytes() for pmt 2018-12-13 12:52:23 +10:30
saxon e2a5e6a16a psi: re-wrote bytes for desc and essd to make less bug prone, though at a cost for performance - but optimisation can happen later 2018-12-13 12:52:23 +10:30
saxon 2a589be6bf psi: using Desc instead of Descriptor 2018-12-13 12:52:23 +10:30
saxon fe11ce6f08 psi: added essd data structure, isolated space check to minimise repetition 2018-12-13 12:52:23 +10:30
saxon 731285d665 psi: restructuring data structures and files 2018-12-13 12:52:23 +10:30
saxon 5f0bef9365 psi: writing new data strcutres to make things neater and more usable 2018-12-13 12:52:23 +10:30
saxon 0531b9542b rtp: client only needs to specify padding length and then padding indicator is set based on this 2018-11-24 12:22:17 +10:30
saxon 5eb7225da9 revid & rtp: fixed up some logging, line breaks, and simplified some decrements/increments 2018-11-24 12:14:44 +10:30
saxon 103bd2b91c rtp: removed exclamation marks in panics 2018-11-22 19:32:31 +10:30
saxon e32cf9c1b7 mts: updated todo message in mpegts.go regarding plans for psi 2018-11-22 10:41:33 +10:30
saxon efe2333683 rtp: added some commenting 2018-11-21 20:28:40 +10:30
saxon 1cebc821d1 revid and rtp: simplified relationship between mts encoder and rtp encoder and revmoed queue 2018-11-21 20:23:02 +10:30
saxon 338bc53e24 rtp: added standards information regarding padding 2018-11-21 17:30:46 +10:30
saxon 6f1515cc46 rtp: simplified addition of padding to rtp packet 2018-11-21 17:30:46 +10:30
saxon f4d44e0c79 rtp: using = instead of |= for setting of rtp packet fields 2018-11-21 17:30:46 +10:30
saxon b09a422baa rtp: use go imports 2018-11-21 17:30:46 +10:30
saxon fc9b0e6ed7 mts: wrote func to wrap PSI packet creation 2018-11-21 17:30:46 +10:30
saxon 842fea8bce rtp: fixed bug in Queue creation 2018-11-21 17:30:46 +10:30
saxon 2ff7e6318d mts: made psi counter max packet interval const 2018-11-21 17:30:46 +10:30
saxon 7a1c628731 rtp: cleaned up queue structure in rtp/encoder.go - made safer, error checking etc 2018-11-21 17:30:46 +10:30
saxon 16614df9f5 rtp: started using mpegts encoder inside rtp encoder so that fragmentation i.e. smaller rtp packets is easier. Streams fine. 2018-11-21 17:30:46 +10:30
saxon fce0937810 rtp: wrote some code so that config validated udp and rtp stuff as well 2018-11-21 17:30:46 +10:30
saxon 5cc35a77a5 rtp: finished encoder file - wrote encode function, wrote timestamp function and sequence number function - need to test 2018-11-17 23:17:08 +10:30
saxon ddf25e1fbe rtp: started writing encoder for rtp. Needto work out what the packet type part of the header should be 2018-11-17 17:43:04 +10:30
saxon 1a15889522 rtp: fixed bug by actually checking to see if there is padding before adding padding size to end buf - which would mean there's actually padding 2018-11-17 17:17:54 +10:30
saxon a6cbfee22b rtp: finished testing function, works, but first test failing 2018-11-17 17:04:26 +10:30
saxon 9f329d49b6 rtp: writing test function inside rtp_test.go 2018-11-17 16:52:57 +10:30
saxon 4e7e779de7 rtp: created rtp packet structure, wrote byte function (interprets packet structure and creates equivalent byte slice and started writing test utilities 2018-11-16 19:35:19 +10:30
kortschak cec4f3803f Merged in remove-stream-chan (pull request #68)
revid: remove stream chan

* revid,stream: factor chan operations out into a separate type

* revid: remove stream chan

* revid: reduce label length

Approved-by: Alan Noble <anoble@gmail.com>
2018-10-19 00:50:08 +00:00
Dan Kortschak aba6ab1645 stream,revid: clean up data flow and docs 2018-10-04 10:35:43 +09:30
Dan Kortschak 9409c3e41b tools: remove package 2018-09-10 21:55:32 +09:30
Dan Kortschak 562ae8d3f3 lex: add missing lex package 2018-08-28 20:28:57 +09:30
Dan Kortschak 05ba19e4aa encoding->stream: rename packages 2018-08-20 07:49:02 +09:30