Screenshot instructions:
Windows
Mac
Red Hat Linux
Ubuntu
Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)
From: <slomo@ke...> - 2008-05-29 12:17:24
|
CVS Root: /cvs/gstreamer Module: gst-plugins-base Changes by: slomo Date: Thu May 29 2008 12:17:30 UTC Log message: * gst/audioconvert/gstchannelmix.c: (gst_channel_mix_fill_one_other): If mixing left or right to center (or the other way around) only take the complete value if we don't already have the original position in the source. Modified files: . : ChangeLog gst/audioconvert: gstchannelmix.c Links: http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-base/ChangeLog.diff?r1=1.3980&r2=1.3981 http://freedesktop.org/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins-base/gst/audioconvert/gstchannelmix.c.diff?r1=1.20&r2=1.21 ====Begin Diffs==== Index: ChangeLog =================================================================== RCS file: /cvs/gstreamer/gst-plugins-base/ChangeLog,v retrieving revision 1.3980 retrieving revision 1.3981 diff -u -d -r1.3980 -r1.3981 --- ChangeLog 29 May 2008 11:34:07 -0000 1.3980 +++ ChangeLog 29 May 2008 12:17:15 -0000 1.3981 @@ -1,5 +1,13 @@ 2008-05-29 Sebastian Dröge <slomo@...> + * gst/audioconvert/gstchannelmix.c: + (gst_channel_mix_fill_one_other): + If mixing left or right to center (or the other way around) only take + the complete value if we don't already have the original position in + the source. + +2008-05-29 Sebastian Dröge <slomo@...> * gst-libs/gst/audio/multichannel.c: (gst_audio_check_channel_positions), (gst_audio_set_structure_channel_positions_list), Index: gstchannelmix.c RCS file: /cvs/gstreamer/gst-plugins-base/gst/audioconvert/gstchannelmix.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- gstchannelmix.c 29 May 2008 11:34:09 -0000 1.20 +++ gstchannelmix.c 29 May 2008 12:17:16 -0000 1.21 @@ -267,20 +267,30 @@ } /* src has left & dst has center => put into center */ - if (from_idx[0] != -1 && to_idx[1] != -1) { + if (from_idx[0] != -1 && to_idx[1] != -1 && from_idx[1] != -1) { + matrix[from_idx[0]][to_idx[1]] = 0.5 * ratio; + } else if (from_idx[0] != -1 && to_idx[1] != -1 && from_idx[1] == -1) { matrix[from_idx[0]][to_idx[1]] = ratio; /* src has right & dst has center => put into center */ - if (from_idx[2] != -1 && to_idx[1] != -1) { + if (from_idx[2] != -1 && to_idx[1] != -1 && from_idx[1] != -1) { + matrix[from_idx[2]][to_idx[1]] = 0.5 * ratio; + } else if (from_idx[2] != -1 && to_idx[1] != -1 && from_idx[1] == -1) { matrix[from_idx[2]][to_idx[1]] = ratio; /* src has center & dst has left => passthrough */ - if (from_idx[1] != -1 && to_idx[0] != -1) { + if (from_idx[1] != -1 && to_idx[0] != -1 && from_idx[0] != -1) { + matrix[from_idx[1]][to_idx[0]] = 0.5 * ratio; + } else if (from_idx[1] != -1 && to_idx[0] != -1 && from_idx[0] == -1) { matrix[from_idx[1]][to_idx[0]] = ratio; /* src has center & dst has right => passthrough */ - if (from_idx[1] != -1 && to_idx[2] != -1) { + if (from_idx[1] != -1 && to_idx[2] != -1 && from_idx[2] != -1) { + matrix[from_idx[1]][to_idx[2]] = 0.5 * ratio; + } else if (from_idx[1] != -1 && to_idx[2] != -1 && from_idx[2] == -1) { matrix[from_idx[1]][to_idx[2]] = ratio; } |