Commit Graph

298 Commits

Author SHA1 Message Date
Saxon 1533d6a7ff stream: got rid of Encoder interface as not needed anymore considering our encoders just implement io.Writer now 2019-03-16 15:46:33 +10:30
Saxon 89ba74004a stream/mts: fixed what encoder is doing with Write methods int return 2019-03-14 11:41:37 +10:30
Saxon 61d70dc9a6 stream/flv: fixed what encoder.Write is doing with it's integer return value 2019-03-14 11:37:45 +10:30
Saxon 00f2b66a8b stream: fixed comment of NopEncoder simplified Write for noop 2019-03-14 11:30:39 +10:30
Saxon 7c54775291 stream: added GetDst func to Encoder interface
It has become apparent that it would be useful to be able to get the destination from
the encoder, so this it at least a temporary fix.
2019-03-13 18:24:18 +10:30
Saxon cce05db3f2 revid: changes made to stream/flv regarding last commit for removal of flv header bytes 2019-03-12 12:58:31 +10:30
Saxon f55daa02c1 stream/flv & stream/mts: updated commenting for flv and mts encoders 2019-03-10 13:04:15 +10:30
Saxon 9f4f9e8920 revid: Encoder type now implements io.Writer 2019-03-10 13:00:58 +10:30
Saxon e0039da2e4 cmd/revid-cli & revid: moved ringBuffer to earlier in pipeline
Removed packetization flag for revid-cli as no longer required.
Packetization will be decided based on outputs.
Removed buffer type definition and Write receiver func in
mtsSender_test.go as this is now defined in revid.go.
Made ringbuffer size and element size consisten no matter the
output methods, as we're now going to only be putting h264 in there.
Modified H264 lex function to take an io.Writer rather than an
Encoder.
Removed destination []loadSender slice from revids fields and
added an encoder []stream.Encoder slice to hold encoders used
during a particular configuration. Each encoder will write to
the desired outputs.
Modified logic regarding encoder and sender setup. We now check
what outputs we have and add encoders to revid's encoder slice
depending on what each output requires.
Modified outputClips routine such that it ranges through revid's
encoders and encodes to them. They then write to the senders and
they handle logic regarding the amount of data they send out
and when. They also handle actions to perform on send failures.
Wrote multiSender struct which will be written to from encoders.
It will then use it's senders to distribute the data accordingly
to senders that work with the encoding from said encoders.
Modified senders so that their load methods no longer take ring
chunks, but rather slices.
Modified senders such that their release methods no longer
perform chunk closing.
2019-03-09 15:28:07 +10:30
Saxon 9be2f95bef stream/mts: improved and added commenting 2019-03-02 13:21:46 +10:30
Saxon 7c6719ab5a stream/mts: using packet.Packet straight away and not doing unnecessary conversions 2019-03-02 13:15:18 +10:30
Saxon 559d15d6eb revid & stream/mts: fixed file headers in mtsSender_test.go and discontinuity.go regarding licensing location 2019-03-01 10:02:43 +10:30
Saxon 31025a114a stream/mts: fixed logic regarding psi writing frequency 2019-02-28 18:19:06 +10:30
Saxon ee915b58ac stream/mts: fixed conflict 2019-02-28 16:47:24 +10:30
Saxon Milton 6228123f7d Merged in add-findpid (pull request #145)
stream/mts: added general FindPID func and FindPAT func.
2019-02-28 05:46:39 +00:00
Saxon a7989955ca stream/mts: corrected func comments for FindPat, FindPmt and FindPid 2019-02-28 11:06:27 +10:30
Saxon 1e9b6c25c9 stream/mts: lowercase PID PAT and PMT in func names 2019-02-28 11:04:40 +10:30
Saxon c1f7497078 stream/mts: using fmt.Errorf instead of fmt.Sprintf inside errors.New 2019-02-27 17:16:15 +10:30
Saxon 1e9fcda47c stream/mts: %v to %d in fmt.Sprintf usage in error message 2019-02-27 17:12:52 +10:30
Saxon 947f818bc6 stream/mts: modified error in FindPid in the case that we can't a packet with given pid so that we show pid 2019-02-27 16:36:59 +10:30
saxon c58b207419 stream: reverted timing changes from most recent PR 2019-02-17 13:35:55 +10:30
saxon 9e9e349cbf stream: reverted some changes I made to tick() in both mts encoder and rtp encoder 2019-02-17 13:27:01 +10:30
saxon ca0a008c59 revid: correct cc logic is discontinuity.go 2019-02-17 12:50:33 +10:30
saxon 3f3d587eeb revid: mtsSender test for segmenting actually working now 2019-02-17 03:35:59 +10:30
saxon a5cb1c5abb stream/mts: made modifications such that the segment test is passing 2019-02-16 23:52:40 +10:30
saxon bb091f5961 revid: wrote test for mtsSender_test.go to see if the mtsSender is segmenting properly 2019-02-16 16:33:39 +10:30
saxon 4ddf87d63d stream/mts/discontinuity.go: fixed expectedCC logic 2019-02-16 14:38:10 +10:30
saxon 361f5edbc9 stream/mts: wrote sender interface and a minimalHttpSender type 2019-02-16 14:26:51 +10:30
saxon 34daa45b46 Merge branch 'master' into mts-chunking 2019-02-16 09:17:43 +10:30
saxon da5fdccaf3 stream/mts & stream/rtp: fixed timing calculations
Currently time calculations in the mts encoder are based on the premise that each mpegts packet is a 'frame', and in the rtp encoder that
each encoding of multiple packets into one rtp packet is a 'frame', these are both false. Mpegts encoding and rtp encoding should do
timestamp calculations using a reasonable approximation of time at encoding/send.
2019-02-16 09:09:54 +10:30
saxon 281aa47fd5 stream/mts: fixing discontinuities that could be caused by ringbuffer 2019-02-16 01:40:35 +10:30
saxon 4044368837 stream/mts: fixed commenting in discontinuity.go 2019-02-15 22:24:07 +10:30
saxon 6964ac513e stream/mts: adding discontinuity.go which contains discontinuity repairer 2019-02-15 13:49:37 +10:30
saxon 694ec5d009 stream/mts: fixed build errors 2019-02-15 13:43:01 +10:30
saxon 7d03830a4e revid & stream/mts: senders now handle clip duration and cc fixing for mts.
Removed rtpSender as we now put in loadSender slice. Removed packer write method as no longer required to do clip duration logic. For initialisation of encoders, they are now no longer writing
to packer, but now straight to the ring buffer. Wrote ausOceanSender which will deal with clip logic and cc fixing for mts. Added some functionality to mts/mpegts.go that allows adding
of adaptation fields to mts packets.
2019-02-15 12:01:07 +10:30
saxon b96df6d3a7 stream/mts: added general FindPID func and FindPAT func. 2019-02-13 14:40:58 +10:30
saxon dad70b37b4 stream/mts/meta/meta.go: reduced verbosity of local vars in meta.Keys 2019-02-11 14:30:37 +10:30
saxon ce92dd37d8 stream/mts/meta: added Keys() func and appropriate testing
A meta.Keys(d []byte) []string, error func has been added that will extract the keys of a metadata string. A test has also been added
to test that this function performs as expected.
2019-02-10 08:58:38 +10:30
Saxon Milton 07d0b7cd5b Merged in add-extract-all (pull request #138)
stream/mts/meta: added ExtractAll func

Approved-by: Alan Noble <anoble@gmail.com>
Approved-by: kortschak <dan@kortschak.io>
2019-02-09 12:30:38 +00:00
saxon 1f3d34b6bb stream/mts/meta/meta_test.go: corrected func comment for TestGetFrom 2019-02-09 22:27:25 +10:30
saxon cc0becf58c stream/mts/meta: simplified meta checking for Get and GetAll 2019-02-09 22:25:36 +10:30
saxon 50575270b9 stream/mts/meta: checking if given slice is nil or empty and returning error if either. Also updated some func comments 2019-02-09 21:35:35 +10:30
saxon 716a92a72c stream/rtp/encoder.go: sendLen to sendSize and capturing error from e.Encode() 2019-02-09 19:31:15 +10:30
saxon 01513fbb3f stream/rtp/encoder.go: correct encoder.Write to work if an abitrary number of bytes are written 2019-02-09 13:22:18 +10:30
saxon e796a5a3b7 stream/mts/meta: updating function comments and test function names according to Extract->Get and ExtractAll->GetAll change 2019-02-09 12:16:57 +10:30
saxon f9d8accdae stream/mts/meta/meta.go: Extract and ExtractAll to Get and GetAll 2019-02-09 12:14:32 +10:30
saxon fadc1fed1b stream/mts/meta: added ExtractAll func and added testing utilities 2019-02-08 21:31:00 +10:30
saxon d5a26a98ff stream/rtp/encoder.go: more sensible use of encoder buffer 2019-02-08 20:20:19 +10:30
saxon db3b34c10f stream/mts/meta: meta.Delete no longer returns error - updated code accordingly 2019-02-08 10:56:19 +10:30
saxon a94bdbfe47 stream/mts/meta: meta.Get now returns ok bool rather than error - updated usage accordingly 2019-02-08 10:25:57 +10:30