The former delegate approach had some drawbacks as one class could
be only delegate for one panel. This commit replaces it with a
completion handler block which moves the result handling code
closer to the actual creation of the dialog.
Also fixes crash for eq panels.
Libav/ffmpeg seems to store littlebit different values in framerate, so
there is #if to check that. Not sure if it's good idea at all to do that
like this.
Splits PopupPanel and TextfieldPanel into two xib files and
creates NSWindowController subclasses for each panel.
Each user of the panel gets its own window controller instance.
This is needed as the same kind of window can be shown multiple
times simultaneously (e.g. both in video and audio effects).
This also did not work with the previous implementation of the
2.2 branch and fixes broken behaviour.
if codec has list of supported framerates, select highest one
unless user has provided one. If we end up using CLOCK_FREQ in
time_base, it should be quite ok in most cases. Tested with ts/mp4/webm
and mp2v/mp4v/VP80. For some cases it can select higher fps in
mpeg-codecs (60fps) in case of input fps isn't yet known in that point
or is fubared.
Also add special case for MP4V as it doesn't like CLOCK_FREQ in
time_base/frame_rates.
This should not adversely affect LibVLC: more errors cases will lead to
error code returns instead of abnormal termination. It is not strictly
semantically correct though (update to Win7 or above if you care).
MMDevice is not available on older Windows versions anyway. Failing to
load the plugin there is fine. It is even arguably better: it prevents
impossible choices showing in the preferences.
video/mpeg is underspecified, could be ES, PS or TS.
video/MP1S, video/MP2P and video/MP2T are more specific/better
specified (but should only be used internally or in SDPs).
Where the search paths list is not changed, using AC_PATH_PROG(S) has
no useful effects and makes manual override more difficult.
(Compare to Qt code using different search paths.)