Saxon
e57e14678a
container/mts: using RealTime type from utils package instead of global vars with mutator functions
2019-08-26 13:29:07 +09:30
Saxon
b9cd6b3f13
container/mts/encoder.go: using NALTypeSPS from h264dec package
2019-08-26 09:24:18 +09:30
Saxon
817cc86a34
revid: now have MinPeriod and ClipDuration params
...
This change included a rename of IntraRefreshPeriod to MinPeriod, and the addition of the ClipDuration param. PSI are now written before IDR. Clips are no longer outputed
based on PSI but rather a time ClipDuration, where ClipDuration >= MinPeriod, however, PSI must still be at the beginning of each clip. Also created functionality to update
meta time even if we don't have a response to update.
2019-08-25 20:42:01 +09:30
Saxon
c9d30ad807
codec/h264/h264dec: added helper function to get first MediaPID found in a stream map
2019-08-07 16:15:50 +09:30
Saxon Milton
f6c296de01
Merged in media-pids (pull request #220 )
...
container/mts/mpegts.go: added Programs, Streams and MediaStreams functions
Approved-by: Alan Noble <anoble@gmail.com>
2019-08-06 12:01:11 +00:00
Saxon
a19c0f4ec3
container/mts/mpegts.go: fixed nil map bug in FindPSI
2019-08-06 15:40:37 +09:30
Saxon
ed11fac655
container/mts/mpegts.go: FindPSI now returns a map[uint16]uint8 containing program PIDs and their types instead of []psi.PmtElementaryStream
2019-08-06 15:38:34 +09:30
Saxon
0cb9a50af8
container/mts/mpegts_test.go: added some more interesting test cases for FindPSI
2019-08-05 14:11:28 +09:30
Trek H
3f29f0c84e
Merge branch 'master' into revid-audio
2019-08-02 23:32:21 +09:30
Saxon
c55cd9a64e
container/mts: wrote test for FindPSI and corrected bugs
...
Wrote the FindPSI test which revealed a bug regarding creation of a PMT using comcast gots. This was fixed by writing Payload function and
extracting payload of PMT packet before giving to psi.NewPMT.
2019-07-26 14:16:05 +09:30
Saxon
0825799cfa
container/mts/mpegts.go: renamed IndexPid to FindPSIs and change such that only looked for PSI
...
We have only ever used this function to find PSI so it makes sense to make it exclusive for this. It now also returns the streams found in the PMT. So that
we can actually retrieve the PIDs of the media and their types.
2019-07-24 12:39:18 +09:30
Saxon
4807b4fcb6
container/mts/mpegts.go: added some commenting to MediaStreams
2019-07-24 00:17:57 +09:30
Saxon
bdc3b4cfc5
container/mts/mpegts.go: added Programs, Streams and MediaStreams functions
2019-07-24 00:04:10 +09:30
scruzin
e76b8b3800
Tidy up errors used by GetPTS().
2019-07-13 09:17:44 +09:30
scruzin
9e5bc3806f
Added GetPTS.
2019-07-12 14:24:30 +09:30
scruzin
aa67134969
Added GetPTS() function.
2019-07-12 14:01:49 +09:30
scruzin
01351a308b
Added tests for IndexPid.
2019-07-11 19:29:46 +09:30
scruzin
c717595adc
Added length check to IndexPid.
2019-07-11 18:16:33 +09:30
scruzin
c8a0b7df07
Fix IndexPid.
2019-07-11 17:33:16 +09:30
scruzin
4b57407e36
Don't wrap error unnecessarily.
2019-07-11 14:57:47 +09:30
scruzin
b1e5890554
Update prev in IndexPid.
2019-07-11 14:54:06 +09:30
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
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
Trek H
faa6246a51
Merge branch 'master' into revid-audio
2019-05-08 16:23:56 +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