Commit Graph

289 Commits

Author SHA1 Message Date
saxon 3aa0efc16a stream/mts/meta_test.go: added TestEncode to test Meta.Encoding function 2019-01-28 18:07:34 +10:30
saxon 960c110acb stream/mts/meta.go: fixed Meta.Encode() func so that it calculates data length correctly 2019-01-28 17:45:38 +10:30
saxon 7d34fa1969 stream/mts/meta.go: completed Meta.Encode() function 2019-01-28 17:29:15 +10:30
saxon 00816ecf84 stream/mts/meta_test.go: added test to meta_test.go to remind me to add a test function once the Meta.Encode() function is complete 2019-01-27 18:34:35 +10:30
saxon 601351b021 stream/mts/meta_test.go: adding comments to meta_test.go testing functions 2019-01-27 18:33:15 +10:30
saxon e1ac1ac5d4 stream/mts/meta_test.go: using consts for commonly occuring test strings 2019-01-27 18:29:45 +10:30
saxon 7fc2b76e6b stream/mts/meta_test.go: added TestDeleteKeyAbsent to check that we get correct err when we try to delete data of key that doesn't exist 2019-01-27 18:24:26 +10:30
saxon c16f144372 stream/mts/meta_test.go: added TestDelete to check that deleting a particular metadata entry by key works 2019-01-27 18:21:49 +10:30
saxon bd54dd128b stream/mts/meta_test.go: added TestGetAbsent key to check that we get an error when we try and get data with key that doesn't exist in metadata map 2019-01-27 18:15:22 +10:30
saxon 17d06f49f4 stream/mts/meta_test.go: added TestAll func to make sure Meta.All is working correctly 2019-01-27 18:02:51 +10:30
saxon 3bb1ca9379 stream/mts: wrote NewMeta func to initialize map in the Meta struct. Also wrote two tests, one TestAddAndGet to see if we can add and get metadata, and also second TestUpdate to see if we can correctly update metadata with the same key using Meta.Add 2019-01-27 17:57:42 +10:30
saxon c547c8bd19 stream/mts: added meta_test.go file and wrote todos for testing 2019-01-27 17:16:44 +10:30
saxon 46b2bc4520 stream/mts: added some consts to describe indexes and masks, and fixed some syntax errors, so now it all builds 2019-01-27 17:04:46 +10:30
saxon 1be7e08b9e stream/mts: renamed Format function for metadata to Encode 2019-01-27 16:56:14 +10:30
saxon 9171b56d31 stream/mts: created new type to represent Descriptor (typedef of []bytes) so that we can create receiver functions. Wrote AddDescriptor func to add or update a descriptor in a pmt. Wrote ProgramInfoLen func to return the program info length i.e. len of descriptors. Wrote HasDescriptor to check if descriptor exists, if so return the descriptor so that we can update. Wrote descriptors which returns []byte of all descriptors. Wrote create descriptor, which adds a descriptor to the existing if any i.e. shifts data downwards to accomodate new data. Wrote update func to update a descriptor. 2019-01-27 16:55:00 +10:30
saxon 6f421ab706 stream/mts/psi.go: added more to AddDescriptor and added signature for edistDesc 2019-01-26 23:35:31 +10:30
saxon ecf7263bc1 stream/mts/meta.go: started using mutex where I was supposed to 2019-01-26 22:42:31 +10:30
saxon df07f3ff48 stream/mts/meta.go: added Format func, but need to complete later once specs are clarified 2019-01-26 22:36:34 +10:30
saxon 8f5a2352b2 stream/mts: added meta.go file to contain struct and methods relating to Metadata and operations 2019-01-26 21:57:14 +10:30
saxon 87ded6bf2e stream/mts/encoder.go: implemented metadata receiver functions: Add, Get, All and Delete 2019-01-26 21:53:19 +10:30
saxon d107231224 stream/mts: starting to work out meta logistics in encoder.go and added incomplete AddDescriptor function in psi package 2019-01-26 18:04:21 +10:30
saxon aea41fb710 stream/mts: adding some constants 2019-01-25 16:25:01 +10:30
saxon 31b9ec07e9 stream/mts/encoder.go: no need to have a now field to capture current time - this can be local to encode function 2019-01-24 14:39:14 +10:30
saxon 42c9fb1d09 stream/mts/encoder.go: writing psi based on time interval rather than number of packets interval 2019-01-24 14:33:22 +10:30
Saxon Milton 286ae4334b Merged in psi-at-start (pull request #127)
stream/mts/encoder.go: writing psi at start of stream

Approved-by: Alan Noble <anoble@gmail.com>
2019-01-24 02:53:53 +00:00
saxon df146cfb17 stream/mts/encoder.go: writing psi at start of stream 2019-01-23 15:50:25 +10:30
saxon 6b4e0946dd stream/mts/mpegts.go: updated FindPMT comment 2019-01-22 11:27:24 +10:30
saxon ba209a1d7c mts/mpegts.go: FindPMT now also returns index 2019-01-22 11:21:12 +10:30
saxon bc3a73bedc av/stream/psi/psi_test.go: updated comment for buildPmtWithMeta() 2019-01-21 18:25:06 +10:30
saxon 67d952c6a7 psi/psi_test.go: made buildPmtWithMeta() safer and readable 2019-01-20 21:58:23 +10:30
saxon a24e4ecb81 psi/psi_test.go: not making it look like I'm appending directly to a global 2019-01-20 21:48:34 +10:30
saxon c4990c946f psi/psi_test.go: not wrapp tstStr in []byte 2019-01-20 21:39:07 +10:30
saxon 239cebe347 psi/psi_test.go: made location tsts const 2019-01-20 21:12:26 +10:30
saxon 3835ff7ce1 psi/psi_test.go: made location tsts strings again and have buildPmtWithMeta take a string instead of []byte 2019-01-20 21:11:09 +10:30
saxon b69c990b21 psi/psi_test.go: got rid of bytes declaration for location strigns 2019-01-20 21:04:27 +10:30
saxon 1a966e8f9b psi/psi_test.go: improved some naming 2019-01-20 20:43:00 +10:30
saxon 5c4795786e psi/helpers.go: modified UpdateLocation() to make updating of location in pmt cleaner, and also removed redundant conversion of string to byte slice 2019-01-20 20:14:27 +10:30
saxon 98d89a4e4e mts: got rid of LocationStrBytes func 2019-01-18 13:21:35 +10:30
Saxon Milton a76be1fd5b Merged in single-frame-h264 (pull request #108)
av: allow for single h264 frame streaming

Approved-by: kortschak <dan@kortschak.io>
2019-01-16 05:28:20 +00:00
saxon ae4d052a9f need to update with master
Merge branch 'master' into fix-psi-bug
2019-01-13 20:13:42 +10:30
saxon 1ae261dce4 psi: return t instead of d in addPadding() func 2019-01-13 20:13:35 +10:30
saxon 7f140baf22 rtp: corrected error in comment 2019-01-13 16:42:30 +10:30
saxon cb762c04c6 rtp: set defPayloadSIze to sendLen which is 7 *188 and also commented consts 2019-01-13 16:40:25 +10:30
saxon efbc2a1a77 revid: fixed conflict with master regarding fatal log when raspivid doesn't start successfully 2019-01-13 14:36:49 +10:30
saxon c4e2ca64a9 psi: modified addPadding to only do one resize 2019-01-12 17:51:39 +10:30
saxon 46f5ffd6f2 mts: PktSize to PacketSize 2019-01-12 17:36:35 +10:30
saxon 010abcfd0c mts: ccMask to continuityCounterMask in encoder.go 2019-01-12 17:34:43 +10:30
saxon 662d71bf54 mts+psi: fixed conflicts with master 2019-01-12 17:03:55 +10:30
saxon 1e1a6bf0eb rtmp: re-added blank line in rtmp_test.go and renamed sei to suppEnhInfo 2019-01-11 23:43:54 +10:30
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