summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsijanec <anton@sijanec.eu>2021-01-07 10:10:19 +0100
committersijanec <anton@sijanec.eu>2021-01-07 10:10:19 +0100
commite89f123b2ba9e9792a84e783b1f185c7bd905f6d (patch)
treed46dcaacbacc91abcc92deacd80a10f6eb3cec42
parentpopravek prejšnjega commita (diff)
downloadrtv4d-dl-dev.tar
rtv4d-dl-dev.tar.gz
rtv4d-dl-dev.tar.bz2
rtv4d-dl-dev.tar.lz
rtv4d-dl-dev.tar.xz
rtv4d-dl-dev.tar.zst
rtv4d-dl-dev.zip
-rw-r--r--README.md6
-rw-r--r--rtv4d-dl.c22
2 files changed, 20 insertions, 8 deletions
diff --git a/README.md b/README.md
index 775fbd8..5df017c 100644
--- a/README.md
+++ b/README.md
@@ -41,8 +41,8 @@ z uporabo programa se strinjate z naslednjimi stavki:
* **živo**: za možne programe in razlago dolžine glej *dodatno o prenosu v živo*
# trenutna izdaja programa:
-* program je bil nazadnje ročno testiran 5. januarja 2021 in takrat je DELOVAL.
-* različica: 0.0.5
+* program je bil nazadnje ročno testiran 7. januarja 2021 in takrat je DELOVAL.
+* različica: 0.0.6
## dnevnik sprememb:
* 0.0.2 - 13. december 2020: sedaj pravilno naloži samo največjo kvaliteto, pred
@@ -53,6 +53,8 @@ z uporabo programa se strinjate z naslednjimi stavki:
* 0.0.5 - 5. januar 2021: dodana podoknica z uporabo cygwin in ignoriranje
binarnih prevedenih datotek iz git repozitorija - so pod
[izdajami](releases).
+* 0.0.6 - 7. januar 2021: če RTV narobe pošlje gzipano vsebino, se ji program
+ izogne.
# o
* program je spisan 100% v C programskem jeziku
diff --git a/rtv4d-dl.c b/rtv4d-dl.c
index e36850b..6064b66 100644
--- a/rtv4d-dl.c
+++ b/rtv4d-dl.c
@@ -47,6 +47,7 @@
do { if ( RTV_NAPISI_ ##kaj ) fprintf(stderr, \
"[" #kaj "] %s@%s:" NIZ(__LINE__) " " frmt "\n", \
__func__, __FILE__, ##__VA_ARGS__ ); } while(0);
+#define RTV_VER "0.0.6"
#define RTV_USER_AGENT "Mozilla/5.0 equivalent (rtv4d-dl " RTV_VER "; C " \
NIZ(__STDC_VERSION__) " GCC " __VERSION__ "; " __DATE__ " " __TIME__ "; " \
__FILE__ ":" NIZ(__LINE__) ")"
@@ -65,7 +66,6 @@
#define RTV_JWT_SIZEOF 43+1
#define RTV_PREDVAJALNIK_URL "http://4d." RTV_SLD "/arhiv/v/%u"
#define RTV_PREDVAJALNIK_URL_SIZEOF (32+1 + 12)
-#define RTV_VER "0.0.5"
#define RTV_ZIVO_PROGRAM_SIZEOF 12
#define RTV_API_ZIVO_URL \
"http://api." RTV_SLD "/ava/getLiveStream/tv.%." \
@@ -132,6 +132,8 @@
"prenehajte uporabljati program s Ctrl-C! naslovi so bili spremenjeni, " \
"tako da bo prenos še vedno deloval, če pa ne, pa poglejte navodila."); \
}
+#define RTV_ZIVO_KAZ_POSK 12
+#define RTV_ZIVO_KAZ_POSK_SPANJE 1
struct meta_oddaja {
size_t naslov_sizeof;
char * naslov; /* Vreme ob 22h */
@@ -478,8 +480,12 @@ int rtv_zivo_izpolni(struct rtv_zivo_meta * m) {
RTV_HTTPS_V_HTTP(m->seznam_predvajanja_url);
RTV_JSON(odg, sizeloc, "\"streamer\"", m->kazalo_url, s, '"', NULL);
RTV_JSON(odg, sizeloc, "\"streamer\"", m->kos_format, s, '"', NULL);
- m->kazalo_url[strlen(m->kazalo_url)] = '/'; /* ja, allocata se dodaten ram */
- m->kos_format[strlen(m->kos_format)] = '/'; /* ja, allocata se dodaten ram */
+ i = strlen(m->kazalo_url);
+ m->kazalo_url[i++] = '/'; /* ja, allocata se dodaten ram */
+ m->kazalo_url[i] = '\0';
+ i = strlen(m->kos_format);
+ m->kos_format[i++] = '/'; /* ja, allocata se dodaten ram */
+ m->kos_format[i] = '\0';
RTV_HTTPS_V_HTTP(m->kazalo_url);
RTV_JSON(odg, sizeloc, "\"file\"", temp, s, '"', NULL);
m->seznam_predvajanja_url_sizeof =
@@ -515,6 +521,11 @@ int rtv_zivo_izpolni(struct rtv_zivo_meta * m) {
#ifndef RTV_NASTAVITEV_BREZ_LOKACIJSKIH_SPREMEMB
RTV_INT_V_SLO(m->kazalo_url);
#endif
+ e = strstr(m->kazalo_url, "_DVR");
+ if (e != NULL) {
+ memmove(e, e+strlen("_DVR"), strlen("_DVR")+1);
+ RTV_NAPISI(HROSC, "RTV je poslal DVR, čeprav ga nočemo. popravil sem.");
+ }
RTV_NAPISI(HROSC, "kazalo_url => %s", m->kazalo_url);
rewind(odgstream);
returnstatus = http_get(m->kazalo_url, odgstream);
@@ -542,8 +553,7 @@ int rtv_zivo_izpolni(struct rtv_zivo_meta * m) {
m->prvi = atoi(e+strlen("#EXT-X-MEDIA-SEQUENCE:")); /* prvi v kazalu */
RTV_NAPISI(HROSC, "našel sekvenčno številko %u", m->prvi);
} else {
- RTV_NAPISI(NAPAKA, "pri iskanju MEDIA-SEQUENCE: ne morem narediti formata"
- ". poskusite znova nekajkrat. je RTV strežnik spet GZIPpal? :shrug:");
+ RTV_NAPISI(NAPAKA, "pri iskanju MEDIA-SEQUENCE: ne morem narediti formata");
returnstatus = 2;
goto rtv_zivo_izpolni_returncleanly;
}
@@ -901,7 +911,7 @@ int main (int argc, char ** argv) {
fprintf(stdout, "številka prvega kosa (z->prvi) je po novem %u\n",
i);
}
- sleep(1);
+ sleep(9);
}
default:
RTV_NAPISI(NAPAKA, "opcija (%c/%u) ne obstaja!",