📄 playback.h
字号:
//////////////////////////////////////////////////////////////////////////////////////////////////remark: ////////////////////////////////////////////////////////////////////////////////////////////////#ifndef PLAYBACK_H#define PLAYBACK_H//#include "info.h"#include <gst/gst.h>#include <gst/interfaces/colorbalance.h>#include <gst/interfaces/xoverlay.h>#define FORWARD_OFFSET 60 #define BACKWARD_OFFSET -15 #define VOLUME_SUB_OFFSET -8#define VOLUME_ADD_OFFSET 8#define GST_STOP 0#define GST_PLAY 1#define GST_PAUSE 2#define DEBUG_GST//#define GET_CAPS//#define SET_VIDEO_PARA//#define PLAY_STATE//#define FORWARD_BACKWARD//#define GST_VOLUME#ifdef DEBUG_GSTstatic gboolean check_other_function(gchar *filename);#endifvoid set_video_brightness();void set_video_contrast();void set_video_saturation();void set_video_hue();void adjust_volume_add();void adjust_volume_sub();//////////////////////////////////////////////////////////////////////////for caps.typedef enum { INFO_TITLE, INFO_ARTIST, INFO_YEAR, INFO_ALBUM, INFO_DURATION, INFO_TRACK_NUMBER, /* Video */ INFO_HAS_VIDEO, INFO_DIMENSION_X, INFO_DIMENSION_Y, INFO_VIDEO_BITRATE, INFO_VIDEO_CODEC, INFO_FPS, /* Audio */ INFO_HAS_AUDIO, INFO_AUDIO_BITRATE, INFO_AUDIO_CODEC, INFO_AUDIO_SAMPLE_RATE, INFO_AUDIO_CHANNELS} MetadataType;typedef enum { USE_TYPE_VIDEO, USE_TYPE_AUDIO, USE_TYPE_CAPTURE, USE_TYPE_METADATA} UseType;//////////////////////////////////////////////////////////////////////////for volume// Audio-out functionstypedef enum { AUDIO_SOUND_STEREO, AUDIO_SOUND_4CHANNEL, AUDIO_SOUND_41CHANNEL, AUDIO_SOUND_5CHANNEL, AUDIO_SOUND_51CHANNEL, AUDIO_SOUND_AC3PASSTHRU} VideoAudioOutType;//////////////////////////////////////////////////////////////////////////for gstreamer playback.typedef struct GstAudioVideo{ gint play_state; //0->stop, 1->play, 2->pause. gint64 stream_length; gint64 cur_time; gfloat cur_position; UseType use_type; gboolean media_has_video; gboolean media_has_audio; GstTagList *tagcache; GstTagList *audiotags; GstTagList *videotags; GstElement *g_pipe; GstElement *videosink; GMutex *lock; GstColorBalance *balance; GstXOverlay *xoverlay; /* protect with lock */ VideoAudioOutType speakersetup; gboolean uses_fakesink; gint video_width; gint video_height;}GstAudioVideo;//GstAudioVideo media;//////////////////////////////////////////////////////////////////////////for video para.typedef enum { VIDEO_BRIGHTNESS, VIDEO_CONTRAST, VIDEO_SATURATION, VIDEO_HUE} LocalVideoProperty;#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -