1 /*
2  *  LAME MP3 encoder for DirectShow
3  *  Advanced property page
4  *
5  *  Copyright (c) 2000-2005 Marie Orlova, Peter Gubanov, Vitaly Ivanov, Elecard Ltd.
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Library General Public
9  * License as published by the Free Software Foundation; either
10  * version 2 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  * Library General Public License for more details.
16  *
17  * You should have received a copy of the GNU Library General Public
18  * License along with this library; if not, write to the
19  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20  * Boston, MA 02111-1307, USA.
21  */
22 
23 class CMpegAudEncPropertyPageAdv : public CBasePropertyPage
24 {
25 
26 public:
27     static CUnknown *CreateInstance( LPUNKNOWN punk, HRESULT *phr );
28     CMpegAudEncPropertyPageAdv( LPUNKNOWN punk, HRESULT *phr );
29 
30     HRESULT OnConnect(IUnknown *pUnknown);
31     HRESULT OnDisconnect();
32     HRESULT OnActivate();
33     HRESULT OnDeactivate();
34     HRESULT OnApplyChanges();
35     BOOL OnReceiveMessage(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam);
36 
37 private:
38     void    InitPropertiesDialog(HWND hwndParent);
39     void    EnableControls(HWND hwndParent, bool bEnable);
40     void    SetDirty(void);
41 
42     DWORD   m_dwEnforceVBRmin;
43     DWORD   m_dwVoiceMode;
44     DWORD   m_dwKeepAllFreq;
45     DWORD   m_dwStrictISO;
46     DWORD   m_dwNoShortBlock;
47     DWORD   m_dwXingTag;
48     DWORD   m_dwChannelMode;
49     DWORD   m_dwForceMS;
50     DWORD   m_dwModeFixed;
51     DWORD   m_dwOverlap;
52     DWORD   m_dwSetStop;
53 
54     IAudioEncoderProperties *m_pAEProps;
55 };
56