It seems that VLC does not apply audio filters the first time they are enabled. I've tested it this way:
- start a vlc player with no filters applied
- before playing any video, go to Tools > Preferences. in "Show Settings" at the bottom-left of the preferences window select
"all" to switch to "Advanced Preferences". Then in Audio > Filters select an audio effect e.g Sound Delay or whatever effect you want.
Finally Click on Save - Play a video. It will be played without any audio effect. If you select "Video > Filters" in advanced preferences and then play a video, video effects will be applied
- Close VLC and Reopen it. Then play a video. all selected effects in previous run will be applied
Is this a bug? or a design decision ?
The story began when I was developing a C# app that uses P/Invoke to embed libvlc as an embedded player library. playback is OK. but when I put the audio bar graph stuff in libvlc_new() call, I saw the "Audio part of the BarGraph function did not applied. I checked other audio effects and found that non of other audio effects applied at the first time.
my C# P/Invoke:
Code: Select all
[DllImport("libvlc")]
public static extern IntPtr libvlc_new(
int argc,
[MarshalAs(UnmanagedType.LPArray, ArraySubType = UnmanagedType.LPStr)] string[] argv);
Code: Select all
string[] initOptions =
{
"--audiobargraph_v-transparency=128",
"--audiobargraph_v-position=10",
"--audiobargraph_a-bargraph_repetition=1",
"--sub-source=audiobargraph_v",
"--audio-filter=audiobargraph_a",
"--file-logging",
"--verbose=2",
"--video-filter=motionblur:sepia", // Just to show that video effects work but audio effects does not
"--blur-factor=100",
"--sepia-intensity=200",
};
// init libvlc
IntPtr vlcHandle = libvlc_new(initOptions.Length, initOptions);
// ... set media and play
To me, it seems not a software conflict or driver problem