Commit Graph

268 Commits

Author SHA1 Message Date
aler9
cdbecb1f5d allow setting additional properties of streams through description.Stream 2023-08-22 16:46:18 +02:00
aler9
8b047b545b decode RTP time globally 2023-08-17 13:41:01 +02:00
aler9
939c065f6f client: invert arguments of Setup() and SetupAll() 2023-08-17 13:23:15 +02:00
aler9
5e5a21240d rename pkg/formats into pkt/format 2023-08-16 13:26:17 +02:00
aler9
e2c526b3b8 remove ServerHandler.Server 2023-08-16 13:26:17 +02:00
aler9
68d4bf8da0 add *Server argument to NewServerStream() 2023-08-16 13:26:17 +02:00
aler9
ca87733ded remove suffix from new functions 2023-08-16 13:26:17 +02:00
aler9
80106144e6 bump to v4 2023-08-16 13:26:17 +02:00
aler9
8857e25353 deprecate rtpav1.Decoder.Decode, rtph264.Decoder.Decode, rtph265.Decoder.Decode 2023-08-14 13:28:36 +02:00
aler9
4e789ff6b9 update mediacommon 2023-08-05 14:18:04 +02:00
aler9
577d6f3a28 use mediacommon/pkg/mpegts in examples 2023-07-30 18:40:39 +02:00
Alessandro Ros
80cf861ec7 add MP4A-LATM decoder and encoder (#299) 2023-06-01 20:07:47 +02:00
Alessandro Ros
39ce0bc3af decrease bitrate of recommended GStreamer pipeline (#243) 2023-04-11 18:38:13 +02:00
Alessandro Ros
e999f51045 update recommended GStreamer pipeline (#242) 2023-04-11 18:30:07 +02:00
Alessandro Ros
82866d2810 fix bitrate in examples/client-publish-format-h264 (#241) 2023-04-11 17:27:09 +02:00
Alessandro Ros
c0e3ba2a8d add new example client-read-format-mpeg4audio-save-to-disk (#235) 2023-04-09 19:18:28 +02:00
Alessandro Ros
f905598d2e link to mediacommon (#223)
* move codecs and bits to mediacommon

* add SafeSetParams() to H264 and H265

* update README
2023-04-01 16:38:08 +02:00
Alessandro Ros
af3ed2bd83 merge format and formatdecenc into formats (#222) 2023-04-01 13:23:16 +02:00
Alessandro Ros
04f5a4041c change owner (#217) 2023-03-31 12:34:07 +02:00
Alessandro Ros
13fab2962e make Opus SDP always return 48khz and 2 channels (#204)
RFC7587 mandates 48khz as sample rate and 2 channels inside the SDP.
These values can be dynamically adjusted by the stream, but they must
not be touched inside the SDP.
2023-03-13 22:03:49 +01:00
Alessandro Ros
253be9913e update docs (#203) 2023-03-13 18:53:36 +01:00
Alessandro Ros
7b6a5f8cb3 Add proxy example (#141) (#175)
* cleanup

* add proxy example
2023-01-23 11:23:16 +01:00
aler9
e86bf26343 cleanup examples 2023-01-08 22:13:15 +01:00
aler9
441a90a519 improve examples 2023-01-07 11:46:00 +01:00
Alessandro Ros
2e88705875 improve coverage (#168) 2023-01-06 23:34:10 +01:00
aler9
62296a3eca examples: fix client-read-format-h264-save-to-disk example 2023-01-03 16:30:02 +01:00
aler9
5f2ac979c5 move pkg/mpeg4audio into pkg/codecs/mpeg4audio 2022-12-27 17:30:53 +01:00
aler9
824fd75d18 rename MJPEG label into M-JPEG 2022-12-27 17:27:59 +01:00
aler9
aca56089c1 move codec-specific utilities into pkg/codecs 2022-12-27 17:19:56 +01:00
Alessandro Ros
91f18ab6d9 Add RTP/MJPEG decoder and encoder (#165)
* rename format.JPEG into format.MJPEG

* add examples/client-publish-format-mjpeg

* add rtp/mjpeg decoder and encoder
2022-12-27 13:43:23 +01:00
aler9
5a2ea9cf9c partially revert cabfcd6 2022-12-22 20:36:41 +01:00
aler9
cabfcd627b client: do not override media controls inside Announce()
this fixes the client-read-republish example and allows users to set
their own media controls.

Function medias.SetControls() is provided in order to automatically set
media controls and must be called manually.
2022-12-22 18:54:09 +01:00
aler9
38b24b8e26 rename 'track' references into 'format' 2022-12-13 18:06:41 +01:00
aler9
a50247956f rename medias.Format into medias.FindFormat 2022-12-12 00:16:25 +01:00
aler9
0c13440721 rename rtpcodecs into formatdecenc 2022-12-11 22:56:59 +01:00
aler9
256877086b merge serverWriter and clientWriter 2022-12-11 22:54:16 +01:00
Alessandro Ros
a1396206b5 convert Tracks into Medias and Formats (#155)
* split tracks from medias

* move tracks into dedicated package

* move media into dedicated package

* edit Medias.Marshal() in order to return SDP

* add medias.Find() and simplify examples

* improve coverage

* fix rebase errors

* replace TrackIDs with MediaIDs

* implement media-specific and track-specific callbacks for reading RTCP and RTP packets

* rename publish into record, read into play

* add v2 tag

* rename tracks into formats
2022-12-11 22:03:22 +01:00
aler9
00efb912aa avoid using fmt.Print* in example 2022-12-09 12:45:16 +01:00
aler9
f16cb173b7 rename read-codec and publish-codec examples into read-track and publish-track 2022-11-27 19:42:05 +01:00
aler9
ab0c9e64c9 merge TrackPCMA and TrackPCMU into Track G711 2022-11-27 19:36:46 +01:00
aler9
be93b242a5 examples: disconnect allow overriding publishers in server 2022-11-20 22:16:16 +01:00
aler9
ed8665762a examples: fix memory leak in server-h264-save-to-disk 2022-11-20 22:15:49 +01:00
aler9
91e15d6e1a examples: fix x265enc flags 2022-11-20 22:07:25 +01:00
aler9
c2c0230669 move RTP decoders/encoders into pkt/rtpcodecs 2022-11-15 23:08:36 +01:00
Alessandro Ros
9795e9175a add H265 decoder and encoder (#154) 2022-11-15 23:01:26 +01:00
aler9
a7e222d3e6 add RTP/LPCM decoder and encoder 2022-11-15 22:11:26 +01:00
aler9
8984685105 add RTP encoder/decoder for G722, PCMA, PCMU 2022-11-15 17:22:40 +01:00
aler9
f07fad893f add TrackLPCM and client-publish-codec-lpcm example 2022-11-14 22:46:23 +01:00
aler9
cb05e71b46 add TrackG722 and client-publish-codec-g722 example 2022-11-14 22:16:55 +01:00
aler9
1656e0e823 add CreateDecoder() method to all tracks that can be decoded 2022-11-14 21:32:49 +01:00