2024-05-15 23:15:00 +00:00
|
|
|
// SPDX-FileCopyrightText: 2023 The Pion community <https://pion.ly>
|
|
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
|
2022-03-10 09:44:48 +00:00
|
|
|
// Package media provides media writer and filters
|
|
|
|
package media
|
|
|
|
|
|
|
|
import (
|
|
|
|
"time"
|
|
|
|
|
|
|
|
"github.com/pion/rtp"
|
|
|
|
)
|
|
|
|
|
|
|
|
// A Sample contains encoded media and timing information
|
|
|
|
type Sample struct {
|
|
|
|
Data []byte
|
|
|
|
Timestamp time.Time
|
|
|
|
Duration time.Duration
|
|
|
|
PacketTimestamp uint32
|
|
|
|
PrevDroppedPackets uint16
|
2024-06-05 20:10:03 +00:00
|
|
|
Metadata interface{}
|
2022-03-10 09:44:48 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// Writer defines an interface to handle
|
|
|
|
// the creation of media files
|
|
|
|
type Writer interface {
|
|
|
|
// Add the content of an RTP packet to the media
|
|
|
|
WriteRTP(packet *rtp.Packet) error
|
|
|
|
// Close the media
|
|
|
|
// Note: Close implementation must be idempotent
|
|
|
|
Close() error
|
|
|
|
}
|