1 /*****************************************************************************
2 * streamout.hpp: Stream output dialog
3 *****************************************************************************
4 * Copyright (C) 1999-2005 the VideoLAN team
5 * $Id: wxwidgets.h 12670 2005-09-25 11:16:31Z zorglub $
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., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
22 *****************************************************************************/
24 #ifndef _WXVLC_STREAMOUT_H_
25 #define _WXVLC_STREAMOUT_H_
27 #include "wxwidgets.hpp"
64 class SoutDialog: public wxDialog
68 SoutDialog( intf_thread_t *p_intf, wxWindow *p_parent );
69 virtual ~SoutDialog();
71 wxArrayString GetOptions();
75 wxPanel *AccessPanel( wxWindow* parent );
76 wxPanel *MiscPanel( wxWindow* parent );
77 wxPanel *EncapsulationPanel( wxWindow* parent );
78 wxPanel *TranscodingPanel( wxWindow* parent );
81 /* Event handlers (these functions should _not_ be virtual) */
82 void OnOk( wxCommandEvent& event );
83 void OnCancel( wxCommandEvent& event );
84 void OnMRLChange( wxCommandEvent& event );
85 void OnAccessTypeChange( wxCommandEvent& event );
87 /* Event handlers for the file access output */
88 void OnFileChange( wxCommandEvent& event );
89 void OnFileBrowse( wxCommandEvent& event );
90 void OnFileDump( wxCommandEvent& event );
92 /* Event handlers for the net access output */
93 void OnNetChange( wxCommandEvent& event );
95 /* Event specific to the announce address */
96 void OnAnnounceGroupChange( wxCommandEvent& event );
97 void OnAnnounceAddrChange( wxCommandEvent& event );
99 /* Event handlers for the encapsulation panel */
100 void OnEncapsulationChange( wxCommandEvent& event );
102 /* Event handlers for the transcoding panel */
103 void OnTranscodingEnable( wxCommandEvent& event );
104 void OnTranscodingChange( wxCommandEvent& event );
106 /* Event handlers for the misc panel */
107 void OnSAPMiscChange( wxCommandEvent& event );
109 DECLARE_EVENT_TABLE();
111 intf_thread_t *p_intf;
114 wxComboBox *mrl_combo;
116 /* Controls for the access outputs */
117 wxPanel *access_panel;
118 wxPanel *access_subpanels[ACCESS_OUT_NUM];
119 wxCheckBox *access_checkboxes[ACCESS_OUT_NUM];
123 wxComboBox *file_combo;
124 wxCheckBox *dump_checkbox;
125 wxSpinCtrl *net_ports[ACCESS_OUT_NUM];
126 wxTextCtrl *net_addrs[ACCESS_OUT_NUM];
128 /* Controls for the SAP announces and TTL setting */
130 wxPanel *misc_subpanels[MISC_SOUT_NUM];
131 wxCheckBox *sap_checkbox;
132 wxTextCtrl *announce_group;
133 wxTextCtrl *announce_addr;
134 wxSpinCtrl *ttl_spin;
136 /* Controls for the encapsulation */
137 wxPanel *encapsulation_panel;
138 wxRadioButton *encapsulation_radios[ENCAPS_NUM];
139 int i_encapsulation_type;
141 /* Controls for transcoding */
142 wxPanel *transcoding_panel;
143 wxCheckBox *video_transc_checkbox;
144 wxComboBox *video_codec_combo;
145 wxComboBox *audio_codec_combo;
146 wxCheckBox *audio_transc_checkbox;
147 wxComboBox *video_bitrate_combo;
148 wxComboBox *audio_bitrate_combo;
149 wxComboBox *audio_channels_combo;
150 wxComboBox *video_scale_combo;
151 wxComboBox *subtitles_codec_combo;
152 wxCheckBox *subtitles_transc_checkbox;
153 wxCheckBox *subtitles_overlay_checkbox;
156 wxCheckBox *sout_all_checkbox;