You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
162 lines
4.9 KiB
162 lines
4.9 KiB
/*****************************************************************************
|
|
* streamout.hpp: Stream output dialog
|
|
*****************************************************************************
|
|
* Copyright (C) 1999-2005 the VideoLAN team
|
|
* $Id$
|
|
*
|
|
* Authors: Gildas Bazin <gbazin@videolan.org>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
|
|
*****************************************************************************/
|
|
|
|
#ifndef _WXVLC_STREAMOUT_H_
|
|
#define _WXVLC_STREAMOUT_H_
|
|
|
|
#include "wxwidgets.hpp"
|
|
#include <wx/spinctrl.h>
|
|
|
|
namespace wxvlc
|
|
{
|
|
enum
|
|
{
|
|
PLAY_ACCESS_OUT = 0,
|
|
FILE_ACCESS_OUT,
|
|
HTTP_ACCESS_OUT,
|
|
MMSH_ACCESS_OUT,
|
|
RTP_ACCESS_OUT,
|
|
UDP_ACCESS_OUT,
|
|
ACCESS_OUT_NUM
|
|
};
|
|
|
|
enum
|
|
{
|
|
TS_ENCAPSULATION = 0,
|
|
PS_ENCAPSULATION,
|
|
MPEG1_ENCAPSULATION,
|
|
OGG_ENCAPSULATION,
|
|
ASF_ENCAPSULATION,
|
|
MP4_ENCAPSULATION,
|
|
MOV_ENCAPSULATION,
|
|
WAV_ENCAPSULATION,
|
|
RAW_ENCAPSULATION,
|
|
AVI_ENCAPSULATION,
|
|
ENCAPS_NUM
|
|
};
|
|
|
|
enum
|
|
{
|
|
ANN_MISC_SOUT = 0,
|
|
TTL_MISC_SOUT,
|
|
MISC_SOUT_NUM
|
|
};
|
|
|
|
class SoutDialog: public wxDialog
|
|
{
|
|
public:
|
|
/* Constructor */
|
|
SoutDialog( intf_thread_t *p_intf, wxWindow *p_parent );
|
|
virtual ~SoutDialog();
|
|
|
|
wxArrayString GetOptions();
|
|
|
|
private:
|
|
void UpdateMRL();
|
|
wxPanel *AccessPanel( wxWindow* parent );
|
|
wxPanel *MiscPanel( wxWindow* parent );
|
|
wxPanel *EncapsulationPanel( wxWindow* parent );
|
|
wxPanel *TranscodingPanel( wxWindow* parent );
|
|
void ParseMRL();
|
|
|
|
/* Event handlers (these functions should _not_ be virtual) */
|
|
void OnOk( wxCommandEvent& event );
|
|
void OnCancel( wxCommandEvent& event );
|
|
void OnMRLChange( wxCommandEvent& event );
|
|
void OnAccessTypeChange( wxCommandEvent& event );
|
|
|
|
/* Event handlers for the file access output */
|
|
void OnFileChange( wxCommandEvent& event );
|
|
void OnFileBrowse( wxCommandEvent& event );
|
|
void OnFileDump( wxCommandEvent& event );
|
|
|
|
/* Event handlers for the net access output */
|
|
void OnNetChange( wxCommandEvent& event );
|
|
|
|
/* Event specific to the announce address */
|
|
void OnAnnounceGroupChange( wxCommandEvent& event );
|
|
void OnAnnounceAddrChange( wxCommandEvent& event );
|
|
|
|
/* Event handlers for the encapsulation panel */
|
|
void OnEncapsulationChange( wxCommandEvent& event );
|
|
|
|
/* Event handlers for the transcoding panel */
|
|
void OnTranscodingEnable( wxCommandEvent& event );
|
|
void OnTranscodingChange( wxCommandEvent& event );
|
|
|
|
/* Event handlers for the misc panel */
|
|
void OnSAPMiscChange( wxCommandEvent& event );
|
|
|
|
DECLARE_EVENT_TABLE();
|
|
|
|
intf_thread_t *p_intf;
|
|
wxWindow *p_parent;
|
|
|
|
wxComboBox *mrl_combo;
|
|
|
|
/* Controls for the access outputs */
|
|
wxPanel *access_panel;
|
|
wxPanel *access_subpanels[ACCESS_OUT_NUM];
|
|
wxCheckBox *access_checkboxes[ACCESS_OUT_NUM];
|
|
|
|
int i_access_type;
|
|
|
|
wxComboBox *file_combo;
|
|
wxCheckBox *dump_checkbox;
|
|
wxSpinCtrl *net_ports[ACCESS_OUT_NUM];
|
|
wxTextCtrl *net_addrs[ACCESS_OUT_NUM];
|
|
|
|
/* Controls for the SAP announces and TTL setting */
|
|
wxPanel *misc_panel;
|
|
wxPanel *misc_subpanels[MISC_SOUT_NUM];
|
|
wxCheckBox *sap_checkbox;
|
|
wxTextCtrl *announce_group;
|
|
wxTextCtrl *announce_addr;
|
|
wxSpinCtrl *ttl_spin;
|
|
|
|
/* Controls for the encapsulation */
|
|
wxPanel *encapsulation_panel;
|
|
wxRadioButton *encapsulation_radios[ENCAPS_NUM];
|
|
int i_encapsulation_type;
|
|
|
|
/* Controls for transcoding */
|
|
wxPanel *transcoding_panel;
|
|
wxCheckBox *video_transc_checkbox;
|
|
wxComboBox *video_codec_combo;
|
|
wxComboBox *audio_codec_combo;
|
|
wxCheckBox *audio_transc_checkbox;
|
|
wxComboBox *video_bitrate_combo;
|
|
wxComboBox *audio_bitrate_combo;
|
|
wxComboBox *audio_channels_combo;
|
|
wxComboBox *video_scale_combo;
|
|
wxComboBox *subtitles_codec_combo;
|
|
wxCheckBox *subtitles_transc_checkbox;
|
|
wxCheckBox *subtitles_overlay_checkbox;
|
|
|
|
/* Misc controls */
|
|
wxCheckBox *sout_all_checkbox;
|
|
};
|
|
|
|
};
|
|
|
|
#endif
|
|
|