[issue1569] flvenc.c audio_codec_ids error.
Daniel Verkamp dan...@drv.nu added the comment: Attached patch fixes the issue in the FLV muxer and the equivalent problem in the demuxer. Tested with the Windows Flash browser plugin - unsigned sounds correct, signed does not. _ FFmpeg issue tracker iss...@roundup.ffmpeg.org https://roundup.ffmpeg.org/roundup/ffmpeg/issue1569 _From dc1fc04a56b5c9baa770f481a6f26de2151002db Mon Sep 17 00:00:00 2001 From: Daniel Verkamp dan...@drv.nu Date: Sun, 13 Dec 2009 04:45:57 -0500 Subject: [PATCH] FLV 8-bit PCM is unsigned, not signed Fixes issue #1569 --- libavformat/flvdec.c |4 ++-- libavformat/flvenc.c |6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/libavformat/flvdec.c b/libavformat/flvdec.c index 2be5e2d..9c43149 100644 --- a/libavformat/flvdec.c +++ b/libavformat/flvdec.c @@ -50,7 +50,7 @@ static void flv_set_audio_codec(AVFormatContext *s, AVStream *astream, int flv_c switch(flv_codecid) { //no distinction between S16 and S8 PCM codec flags case FLV_CODECID_PCM: -acodec-codec_id = acodec-bits_per_coded_sample == 8 ? CODEC_ID_PCM_S8 : +acodec-codec_id = acodec-bits_per_coded_sample == 8 ? CODEC_ID_PCM_U8 : #if HAVE_BIGENDIAN CODEC_ID_PCM_S16BE; #else @@ -58,7 +58,7 @@ static void flv_set_audio_codec(AVFormatContext *s, AVStream *astream, int flv_c #endif break; case FLV_CODECID_PCM_LE: -acodec-codec_id = acodec-bits_per_coded_sample == 8 ? CODEC_ID_PCM_S8 : CODEC_ID_PCM_S16LE; break; +acodec-codec_id = acodec-bits_per_coded_sample == 8 ? CODEC_ID_PCM_U8 : CODEC_ID_PCM_S16LE; break; case FLV_CODECID_AAC : acodec-codec_id = CODEC_ID_AAC; break; case FLV_CODECID_ADPCM: acodec-codec_id = CODEC_ID_ADPCM_SWF; break; case FLV_CODECID_SPEEX: diff --git a/libavformat/flvenc.c b/libavformat/flvenc.c index ce8f565..c255ff0 100644 --- a/libavformat/flvenc.c +++ b/libavformat/flvenc.c @@ -38,7 +38,7 @@ static const AVCodecTag flv_video_codec_ids[] = { static const AVCodecTag flv_audio_codec_ids[] = { {CODEC_ID_MP3, FLV_CODECID_MP3 FLV_AUDIO_CODECID_OFFSET}, -{CODEC_ID_PCM_S8,FLV_CODECID_PCM FLV_AUDIO_CODECID_OFFSET}, +{CODEC_ID_PCM_U8,FLV_CODECID_PCM FLV_AUDIO_CODECID_OFFSET}, {CODEC_ID_PCM_S16BE, FLV_CODECID_PCM FLV_AUDIO_CODECID_OFFSET}, {CODEC_ID_PCM_S16LE, FLV_CODECID_PCM_LE FLV_AUDIO_CODECID_OFFSET}, {CODEC_ID_ADPCM_SWF, FLV_CODECID_ADPCM FLV_AUDIO_CODECID_OFFSET}, @@ -107,7 +107,7 @@ static int get_audio_flags(AVCodecContext *enc){ case CODEC_ID_MP3: flags |= FLV_CODECID_MP3| FLV_SAMPLESSIZE_16BIT; break; -case CODEC_ID_PCM_S8: +case CODEC_ID_PCM_U8: flags |= FLV_CODECID_PCM| FLV_SAMPLESSIZE_8BIT; break; case CODEC_ID_PCM_S16BE: @@ -248,7 +248,7 @@ static int flv_write_header(AVFormatContext *s) put_amf_double(pb, audio_enc-sample_rate); put_amf_string(pb, audiosamplesize); -put_amf_double(pb, audio_enc-codec_id == CODEC_ID_PCM_S8 ? 8 : 16); +put_amf_double(pb, audio_enc-codec_id == CODEC_ID_PCM_U8 ? 8 : 16); put_amf_string(pb, stereo); put_amf_bool(pb, audio_enc-channels == 2); -- 1.6.5.2
[issue1569] flvenc.c audio_codec_ids error.
Daniel Verkamp dan...@drv.nu added the comment: Sample created by ffmpeg with patch applied _ FFmpeg issue tracker iss...@roundup.ffmpeg.org https://roundup.ffmpeg.org/roundup/ffmpeg/issue1569 _FLV ¨ onMetaData duration ?û7KƧï audiodatara...@o@ audiosamplera...@Å audiosamplesize @ stereo audiocodecid filesi...@ÒÀ ³ |~}~}~ ~~~{|{|{|{z|{{}}|{|}~~|}}~~}~~~~~~~~~~~ }|}{|z{}}|z}|||{{}||{}}{}~~~z}~~wwy|~yv{~}|y}yxzy{}xvz|~{z~|~ ||~}| {| |ww{zyv|~ xplnotuuvu{}yrnpw zxx |~~}~ wstz{~}}vrs{}~ zx{xuy~~ ~}y} ~}} y}z{ wuw~{uvtolmqrwzvxuw|trry {tt{ |~}~~~vqtsrw{xrrwy}tommx x{ wt~£¤z~ xplstlkz |qnqrokls~ uuvmcgu}ws§§~wpqmkou{uvspsyv|tpoorw¤¤ po~t~|tw xhci~ª¨ pahp} lWHK_~ xZ^w`Uac`f§ÏÕĬlbho{ ¯´xow}x{qpy¾ÌǸ {} x`Sf¬oSRfq©¯«p`]bm~ xbLEWoyrO@F_®ßìàÀX;V|tbo~¯©rghknkdks¯Äοsvhnfro´¤g`orko¯¿¸pti_~ql\pn_{wpkw sqo04o®Öìà¿�...@7oo{u~¸°_z¦½¹ {~{yp`fp½Ûæà¿ld3[u®¨vv~rlvº¼¬`?;W³«`47Ro{|wgdTBG_½êòà¸pD8?_§¶°dP[»ÍÄ xkfkh\X]gw¥¿ÞàÀo\PFG[w|qw|{~§¹¸P8;_¯² `?7_u|xk\zapiwv¯Òêد�...@c^~¦¨`xo»ÊÀhv_kli]gu§ÏåèϤ`2,?_§¿¿¨ock®°hHA[º°|`@:EZu kQMGFWwÎÞ×ÀX?7?fª¯·¨C?[¿çß°`TZW[_w§¼ÓÛÏ°P$?_oµ§xpnnx{ pHE]~¦ t_HBEVo§¢x`UH?On¶ÓÜ×À_F9;O~§®¨§± oH=O¾íè¿kYUHESg~¢§³ÖÜÏ°p? *ng{ª£u~¢x`bn§ªpp=f_z£...@2g_~¹ÆÓÓÀ`b,3N§«³°oRGO~·ÚÚ´xlX77Sw§¦«Öàʶ¨g0+V{¡tv¢`GGo± tlWST_q~ rO(n¬¯³Ä̯dG0/gn«¶¸pkkm¤»¸§hhawn¥«¶ÇÖÕÀ h?_ztw¯ opd[¯zxpjkx~ ...@!7_¶° ®ÎÄtp-7[½º mryt_[go§«³ÆÖà¿POtnz§·¤slh\]w w~x`__wxb@/W~³°¡¦¾¸tXG4/n®¶¨`W^¯¥hPSo©µ¿ÆȯX$K~uzx|v³¨ibffco{QDKo¡ pdP4=_«¨¦·Ë¿xldTGIg~§¯¤qgm~¯³ _PO_}¢¥¥¯·ÇËÀp?/^¦¤wrsw w}¯¼£`wybo{ �...@gk«« hwh;Gg§¦§¶º§kZZZX[dv`Zuª¯¨gUN_w¥«°¶½Æ¿ h0/_¦ poz ~« l^^kwtzs`heg§£�...@e[w«¾´wxwgntsw\]v¯³¬¦«¥pog_{¨½ÇÍÊ·d0-v¬©tsxy«º°_xcvrgkywdikn¡ hdcwo~¯¿¶ `bw|{qnoX_}¨¨xPG]u ²¿ÏħW(+Nw©ªwqs~xw«¼ªoXTe¤eal{|dLNw¤`GOfoj~´Â¨`]xcgXM^£ ©¦pOSw®ÇÐÌ¿ H$)g~¢ t}s§º¯`P\o¦¨p[fypTK_¬¨pHKg¢tbo¯¬l]w£xin}|hZg¥¬®`Yg¯ÆÌÀ P*/G^unl{|~·¯pTBNwªhYenvtjak¢¢r`LKg svª _Nk¯pirsh`c~¡lar ¥·Ä¿°oD+3Sogfn«¼º`IOw°£gR_o}ysw¡oRESo¢z¦¯gPSr¯ {uujdio~¡¢t{§¿Ã¸©`4)?moioy¦²´ p2?v· roizkulny �...@ggs³£xasw¯¢yh]^hs¤ pk{¶Âµª`@)3w¢tddkv§®²¯ ...@go²ptirk_psouv½´ddnmox]n~¢tw ¿ÏÀ dd,.o~³z[o´µ©ptg_®«_mm[stxl[}dk¤ ppcw¤{rqqmjo«¨h^o«²¤£´¾°izkefwvl\\o£ª° xbuww p`hf_~ktm_xjn§ oxzg®¨xhbs~}®µ¨odfo¥«¨¥¶ÊÀ¬pyillwo`_`k³À¾¯d[^sxm`hi_£¥¢¥o`hoo¡xk{ v_x]w§µozuflgfs©¯¶ÁÀ¨pgd\yy[gu}~xst[{ÏÒ·yrllw{uhoak_®¿À§r`?=^¯pev·xhy]_jº¸`2?o hcl¤§±®¼Â¸lhdknouvtpl{`^{¯ÛßÀ_s[vpoa=ww¦³¹±�...@5o~«§`jÍÀhp]\v_¯ÏÀ@7^¬¬ las¾Õ˯|qbPUogcksso~xqjh~¯ÏÀ p\YjsdD0/Ko·×Ü¿pP0-Gn rn¹¸¨ph`]Wm_Rb£ª§tlwln¿åÙ°mjlbS_odk} ypqtsw«³ªs~ zqd?/W{¥²ËØѨH$7_qt°µ¤n_Vfz|dV_~½À¨||ysq¢~¾ÕÈrd_TZho{y~oigo|uw§´©�...@$g¥¾Ä¤H7Vuw`^gv§¬¦`KVgui\_o®¼À¨`_ez ·È¿ lru`NUk~ox§¦eX]~tkv¬°¨`8?k¥£¢³°pho|k\_o«¿·hCWo|p`_n²»¨TNg¢¶Å¸turcPHW}|{¢tmw ttquv|·Á°d?(6_v¤¤wts|{tux£®® l_[iwxlb^dw¥§o`k~ª¤ �...@?[wwsv~yokm{³· x84rs§¤dxg~¯·°pjgc`cs pt^®Ä°qyuz®°`@3Vw yvz|xc_c|s³ÆÀh@:Ss¢w¢xZ\wª¦¤«¹´oq}pPOkp`k~©©ps| ha~¯Ê°?;f~¡jaopRGVj®ËÄxP0-oª¤\Ud«±¬¦§·¯
[issue1569] flvenc.c audio_codec_ids error.
Daniel Verkamp dan...@drv.nu added the comment: Add me to nosy -- nosy: +DrV _ FFmpeg issue tracker iss...@roundup.ffmpeg.org https://roundup.ffmpeg.org/roundup/ffmpeg/issue1569 _
[issue1569] flvenc.c audio_codec_ids error.
Michael Niedermayer michae...@gmx.at added the comment: [...] flvdec.c |4 ++-- flvenc.c |6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) bbc640b0c1f38389ac43a054a8eec4cc62bc0349 0001-FLV-8-bit-PCM-is-unsigned-not-signed.patch From dc1fc04a56b5c9baa770f481a6f26de2151002db Mon Sep 17 00:00:00 2001 From: Daniel Verkamp dan...@drv.nu Date: Sun, 13 Dec 2009 04:45:57 -0500 Subject: [PATCH] FLV 8-bit PCM is unsigned, not signed Fixes issue #1569 ok (but i assume the regtests pass) [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB No great genius has ever existed without some touch of madness. -- Aristotle -- substatus: needs_more_info - approved _ FFmpeg issue tracker iss...@roundup.ffmpeg.org https://roundup.ffmpeg.org/roundup/ffmpeg/issue1569 _
[issue1569] flvenc.c audio_codec_ids error.
Daniel Verkamp dan...@drv.nu added the comment: Applied, thanks. -- status: open - closed substatus: approved - fixed _ FFmpeg issue tracker iss...@roundup.ffmpeg.org https://roundup.ffmpeg.org/roundup/ffmpeg/issue1569 _
[issue1569] flvenc.c audio_codec_ids error.
New submission from regits stiger1...@gmail.com: from flv spec, pcm 8bits are unsigned. so we need to change all CODEC_ID_PCM_S8 in libavformat/flvenc.c to CODEC_ID_PCM_U8. -- messages: 8002 priority: normal status: new substatus: new title: flvenc.c audio_codec_ids error. type: bug _ FFmpeg issue tracker iss...@roundup.ffmpeg.org https://roundup.ffmpeg.org/roundup/ffmpeg/issue1569 _