libtizyoutube¶
- 
group 
libtizyoutube library
A C library to access audio from the YouTube streaming service.
Typedefs
- 
typedef struct tiz_youtube 
tiz_youtube_t¶ The youtube opaque structure
- 
typedef enum tiz_youtube_playback_mode 
tiz_youtube_playback_mode_t¶ Various playback modes that control the playback queue.
Enums
Functions
- 
int 
tiz_youtube_init(tiz_youtube_ptr_t *app_youtube, const char *ap_api_key)¶ Initialize the tiz_youtube handle.
- Return
 0 on success.
- Parameters
 app_youtube: A pointer to the tiz_youtube handle which will be initialised.
- 
void 
tiz_youtube_clear_queue(tiz_youtube_t *ap_youtube)¶ Clear the playback queue.
- Parameters
 ap_youtube: The tiz_youtube handle.
- 
void 
tiz_youtube_print_queue(tiz_youtube_t *ap_youtube)¶ Print to standard output the contents of the playback queue.
- Parameters
 ap_youtube: The tiz_youtube handle.
- 
const char *
tiz_youtube_get_current_audio_stream_index(tiz_youtube_t *ap_youtube)¶ Retrieve the index in the playback queue of the stream currently selected.
- Parameters
 ap_youtube: The tiz_youtube handle.
- 
const char *
tiz_youtube_get_current_queue_length(tiz_youtube_t *ap_youtube)¶ Retrieve the current length of playback queue.
- Parameters
 ap_youtube: The tiz_youtube handle.
- 
int 
tiz_youtube_get_current_queue_length_as_int(tiz_youtube_t *ap_youtube)¶ Retrieve the current length of the playback queue as integer.
- Parameters
 ap_youtube: The tiz_youtube handle.
- 
const char *
tiz_youtube_get_current_queue_progress(tiz_youtube_t *ap_youtube)¶ Retrieve the current queue progress (e.g. ‘5 of 17’, where 5 is the current stream index, and 17 is the total streams in the queue).
- Parameters
 ap_youtube: The tiz_youtube handle.
- 
void 
tiz_youtube_set_playback_mode(tiz_youtube_t *ap_youtube, const tiz_youtube_playback_mode_t mode)¶ Set the playback mode (normal, shuffle).
- Parameters
 ap_youtube: The tiz_youtube handle.
- 
int 
tiz_youtube_play_audio_stream(tiz_youtube_t *ap_youtube, const char *ap_url_or_id)¶ Add a YouTube audio stream to the playback queue.
After calling this method, the various tiz_youtube_get* methods can be used to interact with the playback queue.
- Return
 0 on success
- Parameters
 ap_youtube: The tiz_youtube handle.ap_url_or_id: A YouTube video full url or video id.
- 
int 
tiz_youtube_play_audio_playlist(tiz_youtube_t *ap_youtube, const char *ap_url_or_id)¶ Add all the audio streams of a YouTube playlist to the playback queue.
After calling this method, the various tiz_youtube_get* methods can be used to interact with the playback queue.
- Return
 0 on success
- Parameters
 ap_youtube: The tiz_youtube handle.ap_url_or_id: A playlist full url or playlist id.
- 
int 
tiz_youtube_play_audio_mix(tiz_youtube_t *ap_youtube, const char *ap_url_or_id)¶ Retrieve the YouTube mix associated to given video id or url andd all the audio streams of the mix to the playback queue.
After calling this method, the various tiz_youtube_get* methods can be used to interact with the playback queue.
- Return
 0 on success
- Parameters
 ap_youtube: The tiz_youtube handle.ap_url_or_id: A playlist url or playlist id.
- 
int 
tiz_youtube_play_audio_search(tiz_youtube_t *ap_youtube, const char *ap_search)¶ Add all the audio streams of a YouTube search to the playback queue.
After calling this method, the various tiz_youtube_get* methods can be used to interact with the playback queue.
- Return
 0 on success
- Parameters
 ap_youtube: The tiz_youtube handle.ap_search: A search term.
- 
int 
tiz_youtube_play_audio_mix_search(tiz_youtube_t *ap_youtube, const char *ap_search)¶ Retrieve the YouTube mix associated to given search term and add all the audio streams of the mix to the playback queue.
After calling this method, the various tiz_youtube_get* methods can be used to interact with the playback queue.
- Return
 0 on success
- Parameters
 ap_youtube: The tiz_youtube handle.ap_search: A search term.
- 
int 
tiz_youtube_play_audio_channel_uploads(tiz_youtube_t *ap_youtube, const char *ap_channel)¶ Retrieve all video uploads from a YouTube channel and add all the audio streams to the playback queue.
After calling this method, the various tiz_youtube_get* methods can be used to interact with the playback queue.
- Return
 0 on success
- Parameters
 ap_youtube: The tiz_youtube handle.ap_channel: A channel url.
- 
int 
tiz_youtube_play_audio_channel_playlist(tiz_youtube_t *ap_youtube, const char *ap_channel_and_playlist)¶ Retrieve all video uploads from a YouTube channel and add all the audio streams to the playback queue.
After calling this method, the various tiz_youtube_get* methods can be used to interact with the playback queue.
- Return
 0 on success
- Parameters
 ap_youtube: The tiz_youtube handle.ap_channel_and_playlist: The channel and playlist names, separated by a space character.
- 
const char *
tiz_youtube_get_url(tiz_youtube_t *ap_youtube, const int a_position)¶ Retrieve the stream url as the specified position in the play queue.
On success, the playback queue pointer moves to the position indicated.
- Return
 The specified url in the playback queue or NULL if the playback queue is empty or the the specified position is out of range.
- Parameters
 ap_youtube: The tiz_youtube handle.a_position: A position value in the range [1, len(queue)].
- 
const char *
tiz_youtube_get_next_url(tiz_youtube_t *ap_youtube, const bool a_remove_current_url)¶ Retrieve the next stream url
The playback queue pointer moves one position forwards.
- Return
 The next url in the playback queue or NULL if the playback queue is empty.
- Parameters
 ap_youtube: The tiz_youtube handle.a_remove_current_url: If true, delete the current url from the playback queue before moving to the next url.
- 
const char *
tiz_youtube_get_prev_url(tiz_youtube_t *ap_youtube, const bool a_remove_current_url)¶ Retrieve the previous stream url.
The playback queue pointer moves one position backwards.
- Return
 The previous url in the playback queue or NULL if the playback queue is empty.
- Parameters
 ap_youtube: The tiz_youtube handle.a_remove_current_url: If true, delete the current url from the playback queue before moving to the previous url.
- 
const char *
tiz_youtube_get_current_audio_stream_title(tiz_youtube_t *ap_youtube)¶ Retrieve the current audio stream’s title.
- Parameters
 ap_youtube: The tiz_youtube handle.
Retrieve the current audio stream’s author.
- Parameters
 ap_youtube: The tiz_youtube handle.
- 
const char *
tiz_youtube_get_current_audio_stream_file_size(tiz_youtube_t *ap_youtube)¶ Retrieve the current audio stream’s file size.
- Parameters
 ap_youtube: The tiz_youtube handle.
- 
const char *
tiz_youtube_get_current_audio_stream_duration(tiz_youtube_t *ap_youtube)¶ Retrieve the current audio stream’s duration.
- Parameters
 ap_youtube: The tiz_youtube handle.
- 
const char *
tiz_youtube_get_current_audio_stream_bitrate(tiz_youtube_t *ap_youtube)¶ Retrieve the current audio stream’s bitrate.
- Parameters
 ap_youtube: The tiz_youtube handle.
- 
const char *
tiz_youtube_get_current_audio_stream_view_count(tiz_youtube_t *ap_youtube)¶ Retrieve the current audio stream’s view count.
- Parameters
 ap_youtube: The tiz_youtube handle.
- 
const char *
tiz_youtube_get_current_audio_stream_description(tiz_youtube_t *ap_youtube)¶ Retrieve the current audio stream’s description.
- Parameters
 ap_youtube: The tiz_youtube handle.
- 
const char *
tiz_youtube_get_current_audio_stream_file_extension(tiz_youtube_t *ap_youtube)¶ Retrieve the current audio stream’s file extension.
- Parameters
 ap_youtube: The tiz_youtube handle.
- 
const char *
tiz_youtube_get_current_audio_stream_video_id(tiz_youtube_t *ap_youtube)¶ Retrieve the current streams video id.
- Parameters
 ap_youtube: The tiz_youtube handle.
- 
const char *
tiz_youtube_get_current_audio_stream_published(tiz_youtube_t *ap_youtube)¶ Retrieve the current streams upload date and time.
- Parameters
 ap_youtube: The tiz_youtube handle.
- 
void 
tiz_youtube_destroy(tiz_youtube_t *ap_youtube)¶ Destroy the tiz_youtube handle.
- Parameters
 ap_youtube: The tiz_youtube handle.
- 
typedef struct tiz_youtube