Mercurial > mplayer.hg
comparison libmpcodecs/ae_lavc.c @ 36334:c1033e9288b1
Extract audio encoding code into a separate helper function.
author | reimar |
---|---|
date | Sun, 25 Aug 2013 11:30:43 +0000 |
parents | 7bf03a973142 |
children | f77a74ebb95e |
comparison
equal
deleted
inserted
replaced
36333:dc90c43a2674 | 36334:c1033e9288b1 |
---|---|
116 } | 116 } |
117 | 117 |
118 static int encode_lavc(audio_encoder_t *encoder, uint8_t *dest, void *src, int size, int max_size) | 118 static int encode_lavc(audio_encoder_t *encoder, uint8_t *dest, void *src, int size, int max_size) |
119 { | 119 { |
120 int n; | 120 int n; |
121 if ((encoder->params.channels == 6 || encoder->params.channels == 5) && | 121 n = lavc_encode_audio(lavc_actx, src, size, dest, max_size); |
122 (!strcmp(lavc_acodec->name,"ac3") || | 122 compressed_frame_size = n < 0 ? 0 : n; |
123 !strcmp(lavc_acodec->name,"libfaac"))) { | 123 return compressed_frame_size; |
124 int isac3 = !strcmp(lavc_acodec->name,"ac3"); | |
125 int bps = av_get_bytes_per_sample(lavc_actx->sample_fmt); | |
126 reorder_channel_nch(src, AF_CHANNEL_LAYOUT_MPLAYER_DEFAULT, | |
127 isac3 ? AF_CHANNEL_LAYOUT_LAVC_DEFAULT | |
128 : AF_CHANNEL_LAYOUT_AAC_DEFAULT, | |
129 encoder->params.channels, | |
130 size / bps, bps); | |
131 } | |
132 n = avcodec_encode_audio(lavc_actx, dest, size, src); | |
133 compressed_frame_size = n; | |
134 return n; | |
135 } | 124 } |
136 | 125 |
137 | 126 |
138 static int close_lavc(audio_encoder_t *encoder) | 127 static int close_lavc(audio_encoder_t *encoder) |
139 { | 128 { |