Commit Graph

3496 Commits

Author SHA1 Message Date
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 Milton 74d22dde2e Merged in get-pts-range-fix (pull request #207)
container/mts: for GetPTSRange if a second PTS is not found error is no longer returned and pts2=pts1

Approved-by: Alan Noble <anoble@gmail.com>
2019-06-29 05:55:50 +00:00
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
Saxon dae6151bae codec/h264: removed decode folder (shouldn't have been on master branch) 2019-06-27 13:57:30 +09:30
Saxon 611dbd14be codec/h264: added decode folder, decode/parse.go and first function in parse.go.
Added decode folder which will contain the h264 decoder and utilities. Added first file parse.go, which contains parsing
processes for syntax elements.
2019-06-23 23:58:05 +09:30
Trek H d48a11794b audio: codec config validation 2019-06-20 18:29:08 +09:30
Trek H 95fc69b3c5 audio: syntax and error checking 2019-06-20 18:04:58 +09:30
Trek H 370aa19c23 audio: style and doc 2019-06-18 19:03:38 +09:30
Trek H 2d5ba8cd8f audio: added validate functions for device config 2019-06-18 18:35:45 +09:30
Trek H ba67d6d43d audio: updated tests to remove bufSize arg 2019-06-18 17:47:37 +09:30
Trek H 6dd70639fe audio: removed bufSize arg in Lex funcs and use ByteLexer 2019-06-18 17:24:32 +09:30
Trek H b418944daa codecutil: added ByteLexer struct for configuring buffer size 2019-06-18 14:50:36 +09:30
Trek H bcd59b98d2 audio: added error type for opening devices for simpler testing
also style changes and formatting etc.
2019-06-18 01:13:42 +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
Trek H fb12a2f69e pcm, audio: style changes 2019-06-17 13:29:01 +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
Trek H 01561e363d codecutil and audio: tests written using test tables 2019-06-14 19:49:49 +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 b0588cee14 audio: fixed pcm exp cmds and removed buggy period negotiation 2019-06-14 00:51:26 +09:30
Trek H e3ba1e43f3 Merge branch 'master' into revid-audio 2019-06-14 00:15:04 +09:30
Trek H 2b4593fcc0 audio: removed names from returns 2019-06-13 23:42:26 +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
Saxon 2640b1b615 Merge branch 'h264-rtp-lexer' 2019-06-07 02:00:41 +09:30
Saxon ce457e1d95 should have been in last commit 2019-06-07 02:00:31 +09:30
Saxon Milton 499a26c09f Merged in h264-rtp-lexer (pull request #202)
codec/h264: added RTPLexer

Approved-by: Alan Noble <anoble@gmail.com>
2019-06-06 16:02:04 +00:00
Saxon fa128d1809 codec/h264: renamed RTPLexer to Extracter
Renamed the RTPLexer to Extracter, renamed NewRTPLexer to NewExtracter and renamed Lex to Extract. Put Extracter and accompanying methods in file extract.go.
Put tests relating to Extracter in extract_test.go.
2019-06-07 01:27:31 +09:30
Saxon Milton 9edf4d5de5 Merged in comment-config (pull request #199)
revid/config.go: better commenting on Config fields.

Approved-by: Alan Noble <anoble@gmail.com>
2019-06-06 03:20:46 +00:00
Saxon 947147b9fd Merge branch 'master' into comment-config 2019-06-06 12:49:52 +09:30
Trek H d23f40c85d mts: updated reference to old pid vars 2019-06-06 02:54:00 +09:30
Trek H 34fc64383e audio: naming 2019-06-06 02:41:17 +09:30
Trek H 96c1b51173 revid and audio: seperated audio into own package
audio device input is now handle in its own package which resides in the new input directory
a list of codecs was added to codecutil package to help with multiple packages using the same codecs
2019-06-06 02:09:55 +09:30