scruzin
feea069758
Factored metaFromPMT out of ExtractMeta and added LastPid and IndexPid.
2019-07-11 14:51:23 +09:30
scruzin
90efebdc91
Added BasePMT which is a PMT without specific data, and removed StandardPMT.
2019-07-10 10:17:34 +09:30
scruzin
1728c3a531
Export StandardPAT, StandardPMT and MaxPTS.
2019-07-10 09:26:54 +09:30
Saxon
36f1e8c78b
container/mts/payload.go: fixed date in license
2019-07-04 19:48:30 +09:30
Saxon
09d772e9c3
container/mts/mpegts.go: equivalent -> identical in TrimToMetaRange error message
2019-07-04 19:47:34 +09:30
Saxon
d2278cb914
container/mts/payload_test.go: corrected comment for TestExtract
2019-07-04 14:40:59 +09:30
Saxon
346dda0f4f
container/mts/payload.go: corrected comment for errors used in TrimToMetaRange
2019-07-04 14:40:21 +09:30
Saxon
cf600d4aa8
container/mts/payload.go: corrected comment for TimeToPTSRange
2019-07-04 14:39:38 +09:30
Saxon
081fb49d54
container/mts/payload.go: corrected comment for errors used in TrimToPTSRange
2019-07-04 14:39:07 +09:30
Saxon
0f92f7d727
container/mts/payload.go: fix spelling error in comment
2019-07-04 14:38:15 +09:30
Saxon
b66f11db19
container/mts/payload.go: removed space after comment
2019-07-04 14:37:43 +09:30
Saxon
ac0384127c
container/mts/payload.go: removed TODO that's been resolved
2019-07-04 14:37:10 +09:30
Saxon
30dd27596b
container/mts/mpegts_test.go: removed var block for single var clip
2019-07-04 14:36:26 +09:30
Saxon
5bbb8d01f2
container/mts/mpegts.go: added comment for global error vars used by FindPid
2019-07-04 14:34:34 +09:30
Saxon
866aa6bef3
container/mts/meta/meta.go: altered comment for GetAll
2019-07-04 14:33:12 +09:30
Saxon
edb056d19b
container/mts: not using string consts for error messages
2019-07-04 14:31:49 +09:30
Saxon
3696e353f2
container/mts: fixed conflicts
2019-07-04 09:50:46 +09:30
Saxon
b017e92185
container/mts: wrote more tests for GetPTSRange
2019-07-01 19:08:20 +09:30
Saxon
7bd885bcfb
container/mts: fixed infinite loop
2019-07-01 14:01:49 +09:30
Saxon
0d240fa7ff
container/mts: checking index so that we don't go out of bounds
2019-07-01 13:54:18 +09:30
Saxon
0497ee5302
container/mts: GetPTSRange checks for PUSI when looking for first PTS
2019-07-01 12:36:11 +09:30
Saxon
ebc72cfbfc
container/mts: for GetPTSRange if a second PTS is not found error is no longer returned and pts2=pts1
2019-06-29 14:58:16 +09:30
Trek H
95fc69b3c5
audio: syntax and error checking
2019-06-20 18:04:58 +09:30
Saxon
2fa6ecfe26
container/mts: added file headers for payload.go and payload_test.go
2019-06-17 20:15:26 +09:30
Saxon
b42510ae22
container/mts: added Clip.SegmentForMeta and accompanying testing.
...
Added a function to segment a Clip into sub Clips that have a consistent meta key and value.
Also added testing for this method.
2019-06-17 20:05:11 +09:30
Saxon
74992aee19
container/mts: added commenting to SegmentForMeta and accompanying testing
2019-06-17 16:34:22 +09:30
Saxon
3eab25e18b
container/mts: added SegmentForMeta func and testing
...
This func will further segment an MTS segment to each series of packets that
correspond to a given key and val of meta. Testing for this func has also been
written.
2019-06-17 04:30:54 +09:30
Saxon
1a233d8576
container/mts: wrote function TrimToMtsRange and added related testing
...
This function will return a sub slice of MPEG-TS corresponding to an interval of metadata.
Also wrote testing for this function.
2019-06-16 04:08:41 +09:30
Saxon
513e9d06ff
container/mts: moved contents of metaEncode_test.go to encoder_test.go and deleted metaEncode_test.go
...
The contents within metaEncode_test.go were strongly related to the contents
in encoder.go, so the code was moved and the file was deleted.
2019-06-15 02:13:49 +09:30
Saxon
2bd7a009ce
container/mts: BytesForMetaInterval renamed to TrimToMetaRange and now returns Clip for similar reasons to previous commit
2019-06-15 02:12:17 +09:30
Saxon
ceee163b74
container/mts: BytesForPTSInterval renamed to TrimToPTSRange, and now returns a Clip
...
It was concluded that it would be more useful if a function that provided a data segment from
the original clip just provided a new Clip, i.e. useful things like PTS and meta is still
available in the segment. So, BytesForPTSInterval was renamed to TrimToPTSRange and now
provides a Clip. The test for this function was updated accordingly.
2019-06-15 02:04:29 +09:30
Saxon
eff69e87ce
container/mts: added some commenting
2019-06-14 19:33:40 +09:30
Saxon
f0d1b994bf
container/mts: wrote test for BytesForMetaInterval and corrected bugs
2019-06-14 19:27:19 +09:30
Saxon
5f78ef8666
container/mts: wrote function BytesForMetaInterval to return media between two points of meta.
2019-06-14 17:41:34 +09:30
Saxon
22079fcb48
container/mts: wrote test for BytesForPTSInterval and corrected bugs
2019-06-14 14:21:45 +09:30
Saxon
70eb8193cb
container/mts: wrote BytesForPTSInterval
...
This function will return the media between two provided PTS. Binary search has been used to
find the corresponding Frames to 'from' and 'to'.
2019-06-14 01:10:00 +09:30
Trek H
9fe09255be
audio and revid: changes for pr
...
added license to lex.go
changed pcm functions to return alsa.Buffers
style, syntax and clarification added to audio.go
new method of finding buffersize in audio.go uses a new function called nearestPowerOfTwo
2019-06-13 23:35:52 +09:30
Saxon
12c205d75f
container/mts: wrote test for Clip.Bytes and generalised logic for generating frames into genFrames func
2019-06-13 18:12:17 +09:30
Saxon
1323cbcae3
container/mts: filled Clip.Bytes
...
writing Clip.Bytes required a change to the Clip type. The Clip type now possess a slice that
references the memory in which the Frames should reference for the media. Appropriate changes have
been made to Extract and TestExtract to accomidate this change.
2019-06-13 16:30:39 +09:30
Saxon
8f434e9703
container/mts: added payload_test.go and fixed bugs in Extract
2019-06-13 15:52:25 +09:30
Saxon
b473451288
container/mts: added payload.go file with Extract function and types
...
payload.go has been added which will contain functionality for dealing with MTS
payloads. A function has been added called Extract, which will return a Clip. Clip
is a type representing a sequence of media frames ([]Frame). Type Frame has been
added which represents a media frame. It provides fields to hold the media as
byte slice, PTS to hold the PES timestamp, an ID for identification of codec type
and finally the relevant Meta from the most recent PMT.
2019-06-12 01:17:14 +09:30
Saxon
e4bce3bcb3
container/mts: added ExtractMeta function and testing
...
Added function to extract meta from first PMT found in a mpegts clip. This simply
wraps the logic we've used in vidrecord, i.e. Finding the PMT, converting to a
comcast gots psi.PSIBytesm, using HasDescriptor to get the meta descriptor, and
then mapping metadata. Also added testing.
2019-06-12 01:01:51 +09:30
Saxon
482f5609e5
container/mts/meta: wrote test for GetAllAsMap
2019-06-11 22:15:27 +09:30
Saxon
9af964cfc9
container/mts/meta: added GetAllAsMap function
...
This function is very similar to GetAll, except that is returns a map[string]string rather
than a [][2]string. It's become apparent that a map[string]string might be more useful in
some circumstances.
2019-06-11 22:07:51 +09:30
Trek H
d23f40c85d
mts: updated reference to old pid vars
2019-06-06 02:54:00 +09:30
Trek H
3e2ff49420
revid: mts encoder uses exported pids
2019-06-06 00:28:26 +09:30
Trek H
90c34c4108
revid: fixed issues after merge
2019-06-03 18:35:28 +09:30
Trek H
3d7539c6df
Merge branch 'master' into revid-audio
2019-06-03 17:50:48 +09:30
Saxon
ecc0ab8664
container/mts/encoder.go: updated comment for Encode constants
2019-05-23 14:05:17 +09:30
Saxon
85984555a3
container/mts/encoder.go: fixed comment for pmtTable initialisation
2019-05-21 17:09:47 +09:30
Saxon
d29141cf05
container/mts: changed consts H264, H265 and Audio to EncodeH264, EncodeH265 and EncodeAudio
2019-05-21 16:57:17 +09:30
Saxon
92d4c5f79a
container/mts/encoder.go: generalising stream id logic
2019-05-16 16:41:52 +09:30
Saxon
548b7caa81
revid: fixed rtpPort and rtcpPort parsing and added H264 and H265 IDs
...
Added H264ID and H265ID consts and added logic to select this const for use in encoder based on mediaType param in NewEncoder. Also now
declaring PMT in NewEncoder so that we can set streamID correctly based on mediaType.
2019-05-16 13:57:10 +09:30
Saxon
8081fd48a0
container/mts/mpegts.go: fixed conflict with master
2019-05-13 17:07:53 +09:30
Saxon Milton
466552cbf9
Merged in mpegts-testing (pull request #195 )
...
container/mts: testing for mpegts.go and encoder.go
Approved-by: Alan Noble <anoble@gmail.com>
2019-05-13 07:09:08 +00:00
Saxon
51f4d123bf
container/mts: using MPEG-TS in comments rather than MPEGTS or mpegts
2019-05-11 21:14:28 +09:30
Saxon
1ab6ab116a
container/mts/encoder.go: fixed comment for PTSFrequency const.
2019-05-11 16:33:09 +09:30
Saxon
aa5a089c55
container/mts/encoder.go: fixed comment for time-related constants
2019-05-11 16:32:00 +09:30
Saxon
20a5ed5362
container/mts/mpegts.go: renamed pidType to pid in GetPTSRange
2019-05-11 16:30:29 +09:30
Saxon
5652b05c21
container/mts/mpegts.go: added package level doc comment
2019-05-11 16:29:15 +09:30
Saxon
0d3463ac87
container/mts: update comments for PCRFrequency and PTSFrequency
2019-05-11 13:57:02 +09:30
Saxon
8f8ae7c558
container/mts: using uint16 for PID always
2019-05-11 13:50:40 +09:30
Saxon
04c7825063
container/mts: PCRFreq->PCRFrequency and PTSFreq->PTSFrequency
2019-05-11 13:48:32 +09:30
Saxon
ebb69ea6aa
container/mts/mpegts.go: GetPTSRange now generalised for any PID
2019-05-11 13:04:30 +09:30
Saxon
e2d9853264
container/mts: fixed build error
2019-05-11 12:49:31 +09:30
Saxon
594dca1b21
container/mts/encoder.go: export PTS frequency.
2019-05-11 12:46:31 +09:30
Saxon
62844809f2
container/mts/mpegts_test.go: writePSI and writeFrame take bytes.Buffer pointer now
2019-05-10 17:47:48 +09:30
Saxon
b12a78dad2
container/mts/mpegts.go: corrected comment
2019-05-10 17:45:04 +09:30
Saxon
5179cdaceb
container/mts/mpegts_test.go: wrote some helper functions for writing psi and frames and cleaned up commenting
2019-05-10 17:38:22 +09:30
Saxon
a86a3fa88a
container/mts/mpegts_test.go: added testing file for mpegts.go
...
Added testing file for mpegts_test.go and added test for GetPTSRange().
2019-05-10 17:22:14 +09:30
Saxon
542f017879
container/mts/pes/pes.go: simplified insertion of pts into pes []byte using comcast/gots InsertPTS func
2019-05-10 14:51:53 +09:30
Saxon
868d01527c
container/mts/mpegts.go: wrote GetPTSRange func
...
This func will return the first and last PTS from an MPEGTS clip by finding the first access unit, and then by moving backward from the end of the clip to find the start of the final PES packet.
2019-05-10 14:20:14 +09:30
Saxon
7955018ab0
container/flv: removed some unecessary comments
2019-05-08 17:06:23 +09:30
Trek H
faa6246a51
Merge branch 'master' into revid-audio
2019-05-08 16:23:56 +09:30
Saxon
4f2d2f7c26
container/flv/flv_test.go: commented test functions
2019-05-08 15:41:19 +09:30
Saxon
553ba8dc54
container/flv/audio_test.go: added test TestAudioTagBytes
...
Wrote test TestAudioTagBytes to check that we can correctly get a []byte representation of an
AudioTag.
2019-05-08 15:39:12 +09:30
Saxon
48645d1cf3
container/flv/flv_test.go: wrote test TestVideoTagBytes
...
Wrote test TestVideoTagBytes which checks that we can get a valid []byte representation of a
VideoTag. The test is passing.
2019-05-08 15:14:35 +09:30
Saxon
5e705f793e
container/mts/mpegts_test.go: using consts where I should be
2019-05-08 00:09:42 +09:30
Saxon
bccd7c2762
container/mts/mpegts.go: error test for invalid packet size in FindPid corrected
2019-05-08 00:07:23 +09:30
Saxon
9dcf866162
container/mts/mpegts.go: removed unused const
2019-05-08 00:06:05 +09:30
Saxon
1e7d3508e3
container/mts/encoder_test.go: simplified some code and improved commenting
2019-05-08 00:03:44 +09:30
Saxon
a0e2360f2b
container/mts/encoder_test.go: corrected typo in comment for expectedHeaders
2019-05-07 23:57:48 +09:30
Saxon
977dab9673
container/mts/encoder_test.go: finished writing test TestEncodeVideo
...
Test is also now checking payload data as well as MPEGTS headers.
2019-05-07 23:49:31 +09:30
Saxon
3292ce0506
container/mts: simplified Packet.Bytes(), and tested
2019-05-07 23:10:03 +09:30
Saxon
0e362e6056
container/mts: wrote test TestEncodeVideo
...
Wrote a test to check mts encoding of video to validate packet creation etc. Test is failing because how I did mts
encoding is interesting, thinking about changing.
2019-05-07 21:22:57 +09:30
Saxon
a805dc13a6
container/mts: removed audio_test.go
2019-05-07 13:34:14 +09:30
Saxon
dbec11f3b4
container/mts: renamed audio_test.go to encoder_test.go
...
This file will now contain any tests pertinent to the mts encoder.
2019-05-07 13:20:06 +09:30
Saxon
c8531b2899
container/mts: added comments to tests
2019-05-07 13:17:33 +09:30
Saxon
a8aec484df
container/mts: wrote test TestFindPid and corrected bug
...
Completed test TestFindPid to validate function of FindPid func in mpegts.go. Through this
process, it was found that there was a bug in this func, whereby the returned packet was
not complete due to indexing issues. The bug is fixed and the test passes.
2019-05-07 02:20:07 +09:30
Saxon
52c8a43cb0
container/mts: added mpegts_test.go and first test TestBytes.
2019-05-06 23:07:26 +09:30
Saxon
77ff88392f
revid: setupInput function for revid now returns closure that is used to do any clean up
2019-05-06 15:12:05 +09:30
Trek H
09db8907a5
revid: matching up audio packet sizes, chunk sizes and rates throughout revid pipeline
2019-04-26 17:03:30 +09:30
Trek H
b1e5b4341f
revid: pid for audio being written to mts packets
2019-04-24 16:39:18 +09:30
Saxon
1b06dae078
container/mts: not taking address of nopCloser
2019-04-24 12:57:04 +09:30
Trek H
20c9e6c409
revid: added PCM and ADPCM codecs
2019-04-23 16:20:47 +09:30
Saxon
e5f95d1ea0
revid: addressing PR feedback
2019-04-23 13:18:41 +09:30
Saxon
d76b60a515
revid: addressing PR feedback
2019-04-18 18:31:49 +09:30
Saxon
56a9b7d6ef
av: fixed broken tests
2019-04-15 11:43:46 +09:30
Saxon
f59879b51d
revid: removed ringBuffer after lexer
...
Now that we want buffered senders (as required), the ringBuffer that was after the
lexer has been removed. Instead, we now have an ioext.multiWriterCloser to which the
lexer writes to. This then writes to the encoders, and then encoders write to each of
their own multiWriteClosers, which write to the appropriate senders. We now call
close on the first multiWriteCloser to close down the entired pipeline, as this close
call propogates through each level.
We have removed the outputClips routine as it's not required anymore to get data
from the revid ringBuffer, and have removed other things that were used by this, like
the IsRunning function.
We have also updated tests to work with these changes - they are passing.
2019-04-15 08:42:56 +09:30
Trek H
7c990b3bb5
mts: reordered, neatened and clarified code.
2019-04-10 17:18:42 +09:30