diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2012-11-29 17:03:04 +0000 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2012-12-03 21:08:52 +0100 |
commit | a4177fd5814300be95a050413f18bfc89f5c93df (patch) | |
tree | c73291fe93954531738907082459368b28c39bee /audio/decode/ad_spdif.c | |
parent | 1e9f37072b348aa396c063306eee813d001be602 (diff) | |
download | mpv-a4177fd5814300be95a050413f18bfc89f5c93df.tar.bz2 mpv-a4177fd5814300be95a050413f18bfc89f5c93df.tar.xz |
audio: make AC3 pass-through with ad_spdif work
Do not fall back to 0 for samplerate when parser is not initialized.
Might fix some issues with using -ac spdifenc with audio in MKV
or MP4.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35517 b3059339-0415-0410-9bf9-f77b7e298cf2
Replace outdated list of unsupported formats by list of supported formats.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35534 b3059339-0415-0410-9bf9-f77b7e298cf2
Do not call af_fmt2str on the same data over and over.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35535 b3059339-0415-0410-9bf9-f77b7e298cf2
ad_spdif: use the more specific AF_FORMAT_AC3_LE when
we handle AC3.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35536 b3059339-0415-0410-9bf9-f77b7e298cf2
Make AF_FORMAT_IS_IEC61937 include AF_FORMAT_IS_AC3.
Our AC3 "sample format" is also iec61937.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35537 b3059339-0415-0410-9bf9-f77b7e298cf2
af_format: support endianness conversion also for iec61937
formats in general, not just AC3.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35538 b3059339-0415-0410-9bf9-f77b7e298cf2
Conflicts:
audio/filter/af_format.c
af_format: Fix check_format, non-special formats are of course supported.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@35545 b3059339-0415-0410-9bf9-f77b7e298cf2
Note: see mplayer bug #2110
Diffstat (limited to 'audio/decode/ad_spdif.c')
-rw-r--r-- | audio/decode/ad_spdif.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/audio/decode/ad_spdif.c b/audio/decode/ad_spdif.c index c22280cbf0..d8cf731d38 100644 --- a/audio/decode/ad_spdif.c +++ b/audio/decode/ad_spdif.c @@ -136,7 +136,6 @@ static int init(sh_audio_t *sh) } // get sample_rate & bitrate from parser - bps = srate = 0; x = ds_get_packet_pts(sh->ds, &start, &pts); in_size = x; if (x <= 0) { @@ -144,10 +143,9 @@ static int init(sh_audio_t *sh) x = 0; } ds_parse(sh->ds, &start, &x, pts, 0); - if (x == 0) { // not enough buffer - srate = 48000; //fake value - bps = 768000/8; //fake value - } else if (sh->avctx) { + srate = 48000; //fake value + bps = 768000/8; //fake value + if (x && sh->avctx) { // we have parser and large enough buffer if (sh->avctx->sample_rate < 44100) { mp_msg(MSGT_DECAUDIO,MSGL_INFO, "This stream sample_rate[%d Hz] may be broken. " @@ -170,7 +168,7 @@ static int init(sh_audio_t *sh) break; case CODEC_ID_AC3: spdif_ctx->iec61937_packet_size = 6144; - sh->sample_format = AF_FORMAT_IEC61937_LE; + sh->sample_format = AF_FORMAT_AC3_LE; sh->samplerate = srate; sh->channels = 2; sh->i_bps = bps; |