@@ -31,7 +31,7 @@ type Encoder struct {
31
31
32
32
// EncoderFrameFn is a function which is called to receive a frame to encode. It should
33
33
// return nil to continue encoding or io.EOF to stop encoding.
34
- type EncoderFrameFn func (int ) (* ff. AVFrame , error )
34
+ type EncoderFrameFn func (int ) (* Frame , error )
35
35
36
36
// EncoderPacketFn is a function which is called for each packet encoded, with
37
37
// the stream timebase.
@@ -71,10 +71,10 @@ func NewEncoder(ctx *ff.AVFormatContext, stream int, par *Par) (*Encoder, error)
71
71
72
72
// Check codec against parameters and set defaults as needed, then
73
73
// copy back to codec
74
- if err := par .ValidateFromCodec (encoder .ctx ); err != nil {
74
+ if err := par .ValidateFromCodec (encoder .ctx . Codec () ); err != nil {
75
75
ff .AVCodec_free_context (encoder .ctx )
76
76
return nil , err
77
- } else if err := par .CopyToCodec (encoder .ctx ); err != nil {
77
+ } else if err := par .CopyToCodecContext (encoder .ctx ); err != nil {
78
78
ff .AVCodec_free_context (encoder .ctx )
79
79
return nil , err
80
80
}
@@ -161,7 +161,7 @@ func (e *Encoder) String() string {
161
161
// Encode a frame and pass packets to the EncoderPacketFn. If the frame is nil, then
162
162
// the encoder will flush any remaining packets. If io.EOF is returned then
163
163
// it indicates that the encoder has ended prematurely.
164
- func (e * Encoder ) Encode (frame * ff. AVFrame , fn EncoderPacketFn ) error {
164
+ func (e * Encoder ) Encode (frame * Frame , fn EncoderPacketFn ) error {
165
165
if fn == nil {
166
166
return ErrBadParameter .With ("nil fn" )
167
167
}
@@ -180,7 +180,7 @@ func (e *Encoder) Par() *Par {
180
180
}
181
181
182
182
// Return the codec type
183
- func (e * Encoder ) nextPts (frame * ff. AVFrame ) int64 {
183
+ func (e * Encoder ) nextPts (frame * Frame ) int64 {
184
184
next_pts := int64 (0 )
185
185
switch e .ctx .Codec ().Type () {
186
186
case ff .AVMEDIA_TYPE_AUDIO :
@@ -198,11 +198,11 @@ func (e *Encoder) nextPts(frame *ff.AVFrame) int64 {
198
198
//////////////////////////////////////////////////////////////////////////////
199
199
// PRIVATE METHODS
200
200
201
- func (e * Encoder ) encode (frame * ff. AVFrame , fn EncoderPacketFn ) error {
201
+ func (e * Encoder ) encode (frame * Frame , fn EncoderPacketFn ) error {
202
202
timebase := e .stream .TimeBase ()
203
203
204
204
// Send the frame to the encoder
205
- if err := ff .AVCodec_send_frame (e .ctx , frame ); err != nil {
205
+ if err := ff .AVCodec_send_frame (e .ctx , ( * ff . AVFrame )( frame ) ); err != nil {
206
206
return err
207
207
}
208
208
0 commit comments