1 /*****************************************************************************
2 * streamout.hpp: Stream output dialog
3 *****************************************************************************
4 * Copyright (C) 1999-2005 the VideoLAN team
7 * Authors: Gildas Bazin <gbazin@videolan.org>
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22 *****************************************************************************/
24 #ifndef _WXVLC_STREAMOUT_H_
25 #define _WXVLC_STREAMOUT_H_
27 #include "wxwidgets.hpp"
28 #include <wx/spinctrl.h>
65 class SoutDialog: public wxDialog
69 SoutDialog( intf_thread_t *p_intf, wxWindow *p_parent );
70 virtual ~SoutDialog();
72 wxArrayString GetOptions();
76 wxPanel *AccessPanel( wxWindow* parent );
77 wxPanel *MiscPanel( wxWindow* parent );
78 wxPanel *EncapsulationPanel( wxWindow* parent );
79 wxPanel *TranscodingPanel( wxWindow* parent );
82 /* Event handlers (these functions should _not_ be virtual) */
83 void OnOk( wxCommandEvent& event );
84 void OnCancel( wxCommandEvent& event );
85 void OnMRLChange( wxCommandEvent& event );
86 void OnAccessTypeChange( wxCommandEvent& event );
88 /* Event handlers for the file access output */
89 void OnFileChange( wxCommandEvent& event );
90 void OnFileBrowse( wxCommandEvent& event );
91 void OnFileDump( wxCommandEvent& event );
93 /* Event handlers for the net access output */
94 void OnNetChange( wxCommandEvent& event );
96 /* Event specific to the announce address */
97 void OnAnnounceGroupChange( wxCommandEvent& event );
98 void OnAnnounceAddrChange( wxCommandEvent& event );
100 /* Event handlers for the encapsulation panel */
101 void OnEncapsulationChange( wxCommandEvent& event );
103 /* Event handlers for the transcoding panel */
104 void OnTranscodingEnable( wxCommandEvent& event );
105 void OnTranscodingChange( wxCommandEvent& event );
107 /* Event handlers for the misc panel */
108 void OnSAPMiscChange( wxCommandEvent& event );
110 DECLARE_EVENT_TABLE();
112 intf_thread_t *p_intf;
115 wxComboBox *mrl_combo;
117 /* Controls for the access outputs */
118 wxPanel *access_panel;
119 wxPanel *access_subpanels[ACCESS_OUT_NUM];
120 wxCheckBox *access_checkboxes[ACCESS_OUT_NUM];
124 wxComboBox *file_combo;
125 wxCheckBox *dump_checkbox;
126 wxSpinCtrl *net_ports[ACCESS_OUT_NUM];
127 wxTextCtrl *net_addrs[ACCESS_OUT_NUM];
129 /* Controls for the SAP announces and TTL setting */
131 wxPanel *misc_subpanels[MISC_SOUT_NUM];
132 wxCheckBox *sap_checkbox;
133 wxTextCtrl *announce_group;
134 wxTextCtrl *announce_addr;
135 wxSpinCtrl *ttl_spin;
137 /* Controls for the encapsulation */
138 wxPanel *encapsulation_panel;
139 wxRadioButton *encapsulation_radios[ENCAPS_NUM];
140 int i_encapsulation_type;
142 /* Controls for transcoding */
143 wxPanel *transcoding_panel;
144 wxCheckBox *video_transc_checkbox;
145 wxComboBox *video_codec_combo;
146 wxComboBox *audio_codec_combo;
147 wxCheckBox *audio_transc_checkbox;
148 wxComboBox *video_bitrate_combo;
149 wxComboBox *audio_bitrate_combo;
150 wxComboBox *audio_channels_combo;
151 wxComboBox *video_scale_combo;
152 wxComboBox *subtitles_codec_combo;
153 wxCheckBox *subtitles_transc_checkbox;
154 wxCheckBox *subtitles_overlay_checkbox;
157 wxCheckBox *sout_all_checkbox;