Introduction
Introduction Statistics Contact Development Disclaimer Help
youtube: fix information for NSFW videos and add fields - frontends - front-end…
Log
Files
Refs
README
LICENSE
---
commit ad970d5ed90fca291bb8e2a1738977efd788bcfa
parent 4d8ef4606fcdb808af8b505fc84318f22fe1c552
Author: Hiltjo Posthuma <[email protected]>
Date: Sun, 26 Feb 2023 14:00:41 +0100
youtube: fix information for NSFW videos and add fields
Also add category, isunlisted and isfamilysafe field.
Diffstat:
M youtube/youtube.c | 14 +++++++++++---
M youtube/youtube.h | 3 +++
2 files changed, 14 insertions(+), 3 deletions(-)
---
diff --git a/youtube/youtube.c b/youtube/youtube.c
@@ -317,8 +317,6 @@ processnode_video(struct json_node *nodes, size_t depth, co…
if (depth > 1) {
if (nodes[0].type == JSON_TYPE_OBJECT &&
!strcmp(nodes[1].name, "streamingData")) {
- r->isfound = 1; /* a video is found */
-
if (depth == 2 &&
nodes[2].type == JSON_TYPE_STRING &&
!strcmp(nodes[2].name, "expiresInSeconds")) {
@@ -388,10 +386,18 @@ processnode_video(struct json_node *nodes, size_t depth, …
nodes[3].type == JSON_TYPE_STRING &&
!strcmp(nodes[1].name, "microformat") &&
!strcmp(nodes[2].name, "playerMicroformatRenderer")) {
+ r->isfound = 1;
+
if (!strcmp(nodes[3].name, "publishDate")) {
strlcpy(r->publishdate, value, sizeof(r->publishdate));
- } if (!strcmp(nodes[3].name, "uploadDate")) {
+ } else if (!strcmp(nodes[3].name, "uploadDate")) {
strlcpy(r->uploaddate, value, sizeof(r->uploaddate));
+ } else if (!strcmp(nodes[3].name, "category")) {
+ strlcpy(r->category, value, sizeof(r->category));
+ } else if (!strcmp(nodes[3].name, "isFamilySafe")) {
+ r->isfamilysafe = !strcmp(value, "true");
+ } else if (!strcmp(nodes[3].name, "isUnlisted")) {
+ r->isunlisted = !strcmp(value, "true");
}
}
@@ -399,6 +405,8 @@ processnode_video(struct json_node *nodes, size_t depth, co…
if (nodes[0].type == JSON_TYPE_OBJECT &&
nodes[2].type == JSON_TYPE_STRING &&
!strcmp(nodes[1].name, "videoDetails")) {
+ r->isfound = 1;
+
if (!strcmp(nodes[2].name, "title")) {
strlcpy(r->title, value, sizeof(r->title));
} else if (!strcmp(nodes[2].name, "videoId")) {
diff --git a/youtube/youtube.h b/youtube/youtube.h
@@ -46,6 +46,9 @@ struct video_response {
long viewcount;
long lengthseconds;
char shortdescription[4096 * 4];
+ char category[256];
+ int isfamilysafe;
+ int isunlisted;
int isfound;
You are viewing proxied material from codemadness.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.