On Wednesday 29 July 2009 16:26:29 Nico Sabbi wrote: > On Tuesday 21 July 2009 13:24:44 Nico Sabbi wrote: > > > So, could somebody *please* explain to me how can I select the > > > 4352 audio track and the correct substream? > > > > > > Thank you very much! > > > > upload a sample to incoming and post the filename, please > > shitty but working patch attached. You still need to specify > -ausid 0x72 buggy. Right one attached:
Index: etc/codecs.conf =================================================================== --- etc/codecs.conf (revision 29435) +++ etc/codecs.conf (working copy) @@ -3547,6 +3547,13 @@ fourcc "MLP " ; internal MPlayer FourCC driver ffmpeg dll "mlp" + +audiocodec fftruehd + info "FFmpeg TrueHD" + status working + fourcc TRHD ; internal MPlayer FourCC + driver ffmpeg + dll "truehd" audiocodec ffnellymoser info "FFmpeg Nellymoser Audio" Index: libmpdemux/demux_ts.c =================================================================== --- libmpdemux/demux_ts.c (revision 29435) +++ libmpdemux/demux_ts.c (working copy) @@ -77,6 +77,7 @@ AUDIO_DTS = 0x2001, AUDIO_LPCM_BE = 0x10001, AUDIO_AAC = mmioFOURCC('M', 'P', '4', 'A'), + AUDIO_TRUEHD = mmioFOURCC('T', 'R', 'H', 'D'), SPU_DVD = 0x3000000, SPU_DVB = 0x3000001, PES_PRIVATE1 = 0xBD00000, @@ -244,7 +245,7 @@ } TS_pids_t; -#define IS_AUDIO(x) (((x) == AUDIO_MP2) || ((x) == AUDIO_A52) || ((x) == AUDIO_LPCM_BE) || ((x) == AUDIO_AAC) || ((x) == AUDIO_DTS)) +#define IS_AUDIO(x) (((x) == AUDIO_MP2) || ((x) == AUDIO_A52) || ((x) == AUDIO_LPCM_BE) || ((x) == AUDIO_AAC) || ((x) == AUDIO_DTS) || ((x) == AUDIO_TRUEHD)) #define IS_VIDEO(x) (((x) == VIDEO_MPEG1) || ((x) == VIDEO_MPEG2) || ((x) == VIDEO_MPEG4) || ((x) == VIDEO_H264) || ((x) == VIDEO_AVC) || ((x) == VIDEO_VC1)) static int ts_parse(demuxer_t *demuxer, ES_stream_t *es, unsigned char *packet, int probe); @@ -871,6 +872,8 @@ mp_msg(MSGT_DEMUXER, MSGL_INFO, "AUDIO LPCM(pid=%d)", param->apid); else if(param->atype == AUDIO_AAC) mp_msg(MSGT_DEMUXER, MSGL_INFO, "AUDIO AAC(pid=%d)", param->apid); + else if(param->atype == AUDIO_TRUEHD) + mp_msg(MSGT_DEMUXER, MSGL_INFO, "AUDIO TRUEHD(pid=%d)", param->apid); else { audio_found = 0; @@ -1410,8 +1413,11 @@ if(stream_id==0xfd) { int ssid = parse_pes_extension_fields(p, pkt_len); + //fprintf(stderr, "\r\nssid: %d, 0x%x\r\n", ssid, ssid); if((audio_substream_id!=-1) && (ssid != audio_substream_id)) return 0; + if(ssid == 0x72) + es->type = type_from_pmt = AUDIO_TRUEHD; } p += header_len + 9; Index: libmpdemux/mp_taglists.c =================================================================== --- libmpdemux/mp_taglists.c (revision 29435) +++ libmpdemux/mp_taglists.c (working copy) @@ -36,6 +36,7 @@ { CODEC_ID_EAC3, MKTAG('E', 'A', 'C', '3')}, { CODEC_ID_INTERPLAY_DPCM, MKTAG('I', 'N', 'P', 'A')}, { CODEC_ID_MLP, MKTAG('M', 'L', 'P', ' ')}, + { CODEC_ID_TRUEHD, MKTAG('T', 'R', 'H', 'D')}, { CODEC_ID_MUSEPACK7, MKTAG('M', 'P', 'C', ' ')}, { CODEC_ID_MUSEPACK8, MKTAG('M', 'P', 'C', '8')}, { CODEC_ID_NELLYMOSER, MKTAG('N', 'E', 'L', 'L')},
_______________________________________________ MPlayer-users mailing list MPlayer-users@xxxxxxxxxxxx https://lists.mplayerhq.hu/mailman/listinfo/mplayer-users