Top | ![]() |
![]() |
![]() |
![]() |
gchar * | aspect-ratio | Read / Write |
gdouble | average-rating | Read |
GDataMediaCategory * | category | Read / Write |
GDataYouTubeCredit * | credit | Read |
gchar * | description | Read / Write |
guint | duration | Read |
guint | favorite-count | Read |
gboolean | is-draft | Read / Write |
gboolean | is-private | Read / Write |
GStrv | keywords | Read / Write |
gdouble | latitude | Read / Write |
gchar * | location | Read / Write |
gdouble | longitude | Read / Write |
guint | max-rating | Read |
guint | min-rating | Read |
gchar * | player-uri | Read |
guint | rating-count | Read |
gint64 | recorded | Read / Write |
GDataYouTubeState * | state | Read |
gint64 | uploaded | Read |
gchar * | video-id | Read |
guint | view-count | Read |
#define | GDATA_YOUTUBE_ASPECT_RATIO_WIDESCREEN |
#define | GDATA_YOUTUBE_ACTION_RATE |
#define | GDATA_YOUTUBE_ACTION_COMMENT |
#define | GDATA_YOUTUBE_ACTION_COMMENT_VOTE |
#define | GDATA_YOUTUBE_ACTION_VIDEO_RESPOND |
#define | GDATA_YOUTUBE_ACTION_EMBED |
#define | GDATA_YOUTUBE_ACTION_SYNDICATE |
#define | GDATA_YOUTUBE_LICENSE_CC |
#define | GDATA_YOUTUBE_LICENSE_STANDARD |
#define | GDATA_YOUTUBE_RATING_TYPE_SIMPLE |
#define | GDATA_YOUTUBE_RATING_TYPE_MPAA |
#define | GDATA_YOUTUBE_RATING_TYPE_V_CHIP |
GDataYouTubeVideo | |
GDataYouTubeVideoClass | |
enum | GDataYouTubePermission |
GDataYouTubeVideo is a subclass of GDataEntry to represent a single video on YouTube, either when uploading or querying.
GDataYouTubeVideo implements GDataCommentable, allowing comments on videos to be queried using gdata_commentable_query_comments()
, and new
comments to be added to videos using gdata_commentable_insert_comment()
. Note that deletion of comments on any GDataYouTubeVideo is not permitted;
gdata_commentable_delete_comment()
will always fail if called on a GDataYouTubeVideo.
For more details of YouTube's GData API, see the online documentation.
Example 14. Getting Basic Video Data
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
GDataYouTubeVideo *video; const gchar *video_id, *title, *player_uri, *description, *video_uri = NULL; gint64 updated, published; GDataMediaContent *content; GList *thumbnails; video = gdata_youtube_service_query_single_video (service, NULL, "R-9gzmQHoe0", NULL, NULL); video_id = gdata_youtube_video_get_video_id (video); /* e.g. "R-9gzmQHoe0" */ title = gdata_entry_get_title (GDATA_ENTRY (video)); /* e.g. "Korpiklaani Vodka (official video 2009)" */ player_uri = gdata_youtube_video_get_player_uri (video); /* e.g. "http://www.youtube.com/watch?v=ZTUVgYoeN_b" */ description = gdata_youtube_video_get_description (video); /* e.g. "Vodka is the first single from the album..." */ published = gdata_entry_get_published (GDATA_ENTRY (video)); /* Date and time the video was originally published */ updated = gdata_entry_get_updated (GDATA_ENTRY (video)); /* When the video was most recently updated by the author */ /* Retrieve a specific encoding of the video in GDataMediaContent format */ content = gdata_youtube_video_look_up_content (video, "video/3gpp"); if (content != NULL) video_uri = gdata_media_content_get_uri (content); /* the URI for the direct 3GP version of the video */ else /* Fall back and try a different video encoding? SWF ("application/x-shockwave-flash") is always present. */ /* Get a list of GDataMediaThumbnails for the video */ for (thumbnails = gdata_youtube_video_get_thumbnails (video); thumbnails != NULL; thumbnails = thumbnails->next) download_and_do_something_with_thumbnail (gdata_media_thumbnail_get_uri (thumbnail)); g_object_unref (video); |
GDataYouTubeVideo *
gdata_youtube_video_new (const gchar *id
);
Creates a new GDataYouTubeVideo with the given ID and default properties.
GDataYouTubeContent * gdata_youtube_video_look_up_content (GDataYouTubeVideo *self
,const gchar *type
);
Looks up a GDataYouTubeContent from the video with the given MIME type. The video's list of contents is a list of URIs to various formats of the video itself, such as its SWF URI or RTSP stream.
GList *
gdata_youtube_video_get_thumbnails (GDataYouTubeVideo *self
);
Gets a list of the thumbnails available for the video.
a GList of GDataMediaThumbnails, or NULL
.
[element-type GData.MediaThumbnail][transfer none]
GDataMediaCategory *
gdata_youtube_video_get_category (GDataYouTubeVideo *self
);
Gets the “category” property.
void gdata_youtube_video_set_category (GDataYouTubeVideo *self
,GDataMediaCategory *category
);
Sets the “category” property to the new category, category
, and increments its reference count.
category
must not be NULL
. For more information, see the online documentation.
GDataYouTubeCredit *
gdata_youtube_video_get_credit (GDataYouTubeVideo *self
);
Gets the “credit” property.
a GDataMediaCredit giving information on whom to credit for the video, or NULL
.
[transfer none]
const gchar *
gdata_youtube_video_get_description (GDataYouTubeVideo *self
);
Gets the “description” property.
void gdata_youtube_video_set_description (GDataYouTubeVideo *self
,const gchar *description
);
Sets the “description” property to the new description, description
.
Set description
to NULL
to unset the video's description.
guint
gdata_youtube_video_get_duration (GDataYouTubeVideo *self
);
Gets the “duration” property.
const gchar * const *
gdata_youtube_video_get_keywords (GDataYouTubeVideo *self
);
Gets the “keywords” property.
a NULL
-terminated array of words associated with the video.
[array zero-terminated=1][transfer none]
void gdata_youtube_video_set_keywords (GDataYouTubeVideo *self
,const gchar * const *keywords
);
Sets the “keywords” property to the new keyword list, keywords
.
keywords
must not be NULL
. For more information, see the online documentation.
const gchar *
gdata_youtube_video_get_location (GDataYouTubeVideo *self
);
Gets the “location” property.
void gdata_youtube_video_set_location (GDataYouTubeVideo *self
,const gchar *location
);
Sets the “location” property to the new location string, location
.
Set location
to NULL
to unset the property in the video.
guint
gdata_youtube_video_get_view_count (GDataYouTubeVideo *self
);
Gets the “view-count” property.
guint
gdata_youtube_video_get_favorite_count
(GDataYouTubeVideo *self
);
Gets the “favorite-count” property.
gboolean gdata_youtube_video_is_restricted_in_country (GDataYouTubeVideo *self
,const gchar *country
);
Checks whether viewing of the video is restricted in country
, either by its content rating, or by the request of the producer.
The return value from this function is purely informational, and no obligation is assumed.
Since 0.4.0
const gchar * gdata_youtube_video_get_media_rating (GDataYouTubeVideo *self
,const gchar *rating_type
);
Returns the rating of the given type for the video, if one exists. For example, this could be a film rating awarded by the MPAA; or a simple rating specifying whether the video contains adult content.
The valid values for rating_type
are: GDATA_YOUTUBE_RATING_TYPE_SIMPLE
, GDATA_YOUTUBE_RATING_TYPE_MPAA
and GDATA_YOUTUBE_RATING_TYPE_V_CHIP
.
Further values may be added in future; if an unknown rating type is passed to the function, NULL
will be returned.
The possible return values depend on what's passed to rating_type
. Valid values for each rating type are listed in the documentation for the
rating types.
the rating of the video for the given rating_type
, or NULL
if the video isn't rated with that type (or the type is unknown)
Since 0.10.0
GDataYouTubePermission gdata_youtube_video_get_access_control (GDataYouTubeVideo *self
,const gchar *action
);
Gets the permission associated with the given action
on the GDataYouTubeVideo. If the given action
doesn't have a permission set on the video, GDATA_YOUTUBE_PERMISSION_DENIED
is returned.
Since 0.7.0
void gdata_youtube_video_set_access_control (GDataYouTubeVideo *self
,const gchar *action
,GDataYouTubePermission permission
);
Sets the permission associated with action
on the GDataYouTubeVideo, allowing restriction or derestriction of various
operations on YouTube videos.
Note that only GDATA_YOUTUBE_ACTION_RATE
and GDATA_YOUTUBE_ACTION_COMMENT
actions can have the GDATA_YOUTUBE_PERMISSION_MODERATED
permission.
self |
||
action |
the action whose permission is being set |
|
permission |
the permission to give to the action |
Since 0.7.0
const gchar *
gdata_youtube_video_get_player_uri (GDataYouTubeVideo *self
);
Gets the “player-uri” property.
gboolean
gdata_youtube_video_is_private (GDataYouTubeVideo *self
);
Gets the “is-private” property.
void gdata_youtube_video_set_is_private (GDataYouTubeVideo *self
,gboolean is_private
);
Sets the “is-private” property to decide whether the video is publicly viewable.
gboolean
gdata_youtube_video_is_draft (GDataYouTubeVideo *self
);
Gets the “is-draft” property.
void gdata_youtube_video_set_is_draft (GDataYouTubeVideo *self
,gboolean is_draft
);
Sets the “is-draft” property to decide whether the video is a draft.
GDataYouTubeState *
gdata_youtube_video_get_state (GDataYouTubeVideo *self
);
Gets the “state” property.
For more information, see the online documentation.
void gdata_youtube_video_get_rating (GDataYouTubeVideo *self
,guint *min
,guint *max
,guint *count
,gdouble *average
);
Gets various properties of the ratings on the video.
self |
||
min |
return location for the minimum rating value, or |
[out caller-allocates][allow-none] |
max |
return location for the maximum rating value, or |
[out caller-allocates][allow-none] |
count |
return location for the number of ratings, or |
[out caller-allocates][allow-none] |
average |
return location for the average rating value, or |
[out caller-allocates][allow-none] |
gint64
gdata_youtube_video_get_uploaded (GDataYouTubeVideo *self
);
Gets the “uploaded” property. If the property is unset, -1
will be returned.
gint64
gdata_youtube_video_get_recorded (GDataYouTubeVideo *self
);
Gets the “recorded” property. If the property is unset, -1
will be returned.
Since 0.3.0
void gdata_youtube_video_set_recorded (GDataYouTubeVideo *self
,gint64 recorded
);
Sets the “recorded” property to the new recorded time, recorded
.
Set recorded
to -1
to unset the video's recorded time.
Since 0.3.0
const gchar *
gdata_youtube_video_get_video_id (GDataYouTubeVideo *self
);
Gets the “video-id” property.
gchar *
gdata_youtube_video_get_video_id_from_uri
(const gchar *video_uri
);
Extracts a video ID from a YouTube video player URI. The video ID is in the same form as returned by
gdata_youtube_video_get_video_id()
, and the video_uri
should be in the same form as returned by
gdata_youtube_video_get_player_uri()
.
The function will validate whether the URI actually points to a hostname containing youtube
(e.g. youtube.com
), and will return NULL
if it doesn't.
For example:
1 2 3 |
video_id = gdata_youtube_video_get_video_id_from_uri ("http://www.youtube.com/watch?v=BH_vwsyCrTc&feature=featured"); g_message ("Video ID: %s", video_id); /* Should print: BH_vwsyCrTc */ g_free (video_id); |
Since 0.4.0
const gchar *
gdata_youtube_video_get_aspect_ratio (GDataYouTubeVideo *self
);
Gets the “aspect-ratio” property.
Since 0.4.0
void gdata_youtube_video_set_aspect_ratio (GDataYouTubeVideo *self
,const gchar *aspect_ratio
);
Sets the “aspect-ratio” property to specify the video's aspect ratio.
If aspect_ratio
is NULL
, the property will be unset.
Since 0.4.0
void gdata_youtube_video_get_coordinates (GDataYouTubeVideo *self
,gdouble *latitude
,gdouble *longitude
);
Gets the “latitude” and “longitude” properties, setting the out parameters to them. If either latitude or
longitude is NULL
, that parameter will not be set. If the coordinates are unset, latitude
and longitude
will be set to G_MAXDOUBLE
.
Since 0.8.0
void gdata_youtube_video_set_coordinates (GDataYouTubeVideo *self
,gdouble latitude
,gdouble longitude
);
Sets the “latitude” and “longitude” properties to latitude
and longitude
respectively.
self |
||
latitude |
the video's new latitude coordinate, or |
|
longitude |
the video's new longitude coordinate, or |
Since 0.8.0
#define GDATA_YOUTUBE_ASPECT_RATIO_WIDESCREEN "widescreen"
The aspect ratio for widescreen (16:9) videos.
For more information, see the online documentation.
Since 0.7.0
#define GDATA_YOUTUBE_ACTION_RATE "rate"
An action to rate a video, for use with gdata_youtube_video_set_access_control()
.
Since 0.7.0
#define GDATA_YOUTUBE_ACTION_COMMENT "comment"
An action to comment on a video, for use with gdata_youtube_video_set_access_control()
.
Since 0.7.0
#define GDATA_YOUTUBE_ACTION_COMMENT_VOTE "commentVote"
An action to rate other users' comments on a video, for use with gdata_youtube_video_set_access_control()
.
Since 0.7.0
#define GDATA_YOUTUBE_ACTION_VIDEO_RESPOND "videoRespond"
An action to add a video response to a video, for use with gdata_youtube_video_set_access_control()
.
Since 0.7.0
#define GDATA_YOUTUBE_ACTION_EMBED "embed"
An action to embed a video on third-party websites, for use with gdata_youtube_video_set_access_control()
.
Since 0.7.0
#define GDATA_YOUTUBE_ACTION_SYNDICATE "syndicate"
An action allowing YouTube to show the video on mobile phones and televisions, for use with gdata_youtube_video_set_access_control()
.
Since 0.7.0
#define GDATA_YOUTUBE_LICENSE_CC "cc"
Value for “license” to restrict search results to only videos which are Creative Commons licensed. Specifically, the license is the Creative Commons Attribution 3.0 Unported license; see the
YouTube Help for more information.Since 0.11.0
#define GDATA_YOUTUBE_LICENSE_STANDARD "youtube"
Value for “license” to restrict search results to only videos which are under the standard YouTube license.
Since 0.11.0
#define GDATA_YOUTUBE_RATING_TYPE_SIMPLE "simple"
A rating type to pass to gdata_youtube_video_get_media_rating()
for “simple” ratings. The values which can be returned for such ratings are:
adult
and nonadult
.
Since 0.10.0
#define GDATA_YOUTUBE_RATING_TYPE_MPAA "mpaa"
A rating type to pass to gdata_youtube_video_get_media_rating()
for ratings by the MPAA. The
values which can be returned for such ratings are: g
, pg
,
pg-13
, r
and nc-17
.
Since 0.10.0
#define GDATA_YOUTUBE_RATING_TYPE_V_CHIP "v-chip"
A rating type to pass to gdata_youtube_video_get_media_rating()
for ratings following the FCC
tv-y
, tv-y7
, tv-y7-fv
, tv-g
,
tv-pg
, tv-14
and tv-ma
.
Since 0.10.0
typedef struct _GDataYouTubeVideo GDataYouTubeVideo;
All the fields in the GDataYouTubeVideo structure are private and should never be accessed directly.
typedef struct { } GDataYouTubeVideoClass;
All the fields in the GDataYouTubeVideoClass structure are private and should never be accessed directly.
Permissions for actions which can be set on a GDataYouTubeVideo using gdata_youtube_video_set_access_control()
.
The only actions which can have the GDATA_YOUTUBE_PERMISSION_MODERATED
permission are
GDATA_YOUTUBE_ACTION_RATE
and GDATA_YOUTUBE_ACTION_COMMENT
.
Since 0.7.0
“aspect-ratio”
property“aspect-ratio” gchar *
The aspect ratio of the video. A NULL
value means the aspect ratio is unknown (it could still be a widescreen video). A value of
GDATA_YOUTUBE_ASPECT_RATIO_WIDESCREEN
means the video is definitely widescreen.
For more information see the online documentation.
Flags: Read / Write
Default value: NULL
Since 0.4.0
“average-rating”
property“average-rating” gdouble
The average rating of the video, over all the ratings it's received.
For more information, see the online documentation.
Flags: Read
Allowed values: >= 0
Default value: 0
“category”
property“category” GDataMediaCategory *
Specifies a genre or developer tag that describes the video.
For more information, see the online documentation.
Flags: Read / Write
“credit”
property“credit” GDataYouTubeCredit *
Identifies the owner of the video.
For more information, see the online documentation.
Flags: Read
“description”
property“description” gchar *
A summary or description of the video.
For more information, see the online documentation.
Flags: Read / Write
Default value: NULL
“duration”
property“duration” guint
The duration of the video in seconds.
For more information, see the online documentation.
Flags: Read
Allowed values: <= G_MAXINT
Default value: 0
“favorite-count”
property“favorite-count” guint
The number of users who have added the video to their favorites.
For more information, see the online documentation.
Flags: Read
Default value: 0
“is-draft”
property“is-draft” gboolean
Indicates whether the video is in draft, or unpublished, status.
For more information, see the online documentation.
Flags: Read / Write
Default value: FALSE
“is-private”
property“is-private” gboolean
Indicates whether the video is private.
Flags: Read / Write
Default value: FALSE
“keywords”
property“keywords” GStrv
A NULL
-terminated array of words associated with the video.
For more information, see the online documentation.
Flags: Read / Write
“latitude”
property“latitude” gdouble
The location as a latitude coordinate associated with this video. Valid latitudes range from -90.0
to 90.0
inclusive.
For more information, see the GeoRSS specification.
Flags: Read / Write
Allowed values: [-90,90]
Default value: 0
Since 0.8.0
“location”
property“location” gchar *
Descriptive text about the location where the video was taken.
For more information, see the online documentation.
Flags: Read / Write
Default value: NULL
“longitude”
property“longitude” gdouble
The location as a longitude coordinate associated with this video. Valid longitudes range from -180.0
to 180.0
inclusive.
For more information, see the GeoRSS specification.
Flags: Read / Write
Allowed values: [-180,180]
Default value: 0
Since 0.8.0
“max-rating”
property“max-rating” guint
The maximum allowed rating for the video.
For more information, see the online documentation.
Flags: Read
Default value: 5
“min-rating”
property“min-rating” guint
The minimum allowed rating for the video.
For more information, see the online documentation.
Flags: Read
Default value: 1
“player-uri”
property“player-uri” gchar *
A URI for a browser-based media player for the full-length video (i.e. the video's page on YouTube).
For more information, see the online documentation.
Flags: Read
Default value: NULL
“rating-count”
property“rating-count” guint
The number of times the video has been rated.
For more information, see the online documentation.
Flags: Read
Default value: 0
“recorded”
property“recorded” gint64
Specifies the time the video was originally recorded.
For more information, see the online documentation.
Flags: Read / Write
Allowed values: >= -1
Default value: -1
Since 0.3.0
“state”
property“state” GDataYouTubeState *
Information describing the state of the video. If this is non-NULL
, the video is not playable.
It points to a GDataYouTubeState.
For more information, see the online documentation.
Flags: Read
“uploaded”
property“uploaded” gint64
Specifies the time the video was originally uploaded to YouTube.
For more information, see the online documentation.
Flags: Read
Allowed values: >= -1
Default value: -1
“video-id”
property“video-id” gchar *
Specifies a unique ID which YouTube uses to identify the video. For example: qz8EfkS4KK0
.
For more information, see the online documentation.
Flags: Read
Default value: NULL
“view-count”
property“view-count” guint
The number of times the video has been viewed.
For more information, see the online documentation.
Flags: Read
Default value: 0