Open GoogleCodeExporter opened 9 years ago
Можно быть чуть чуть точнее?
Часовый пояс не интересно для програмы.
Есть возможность задержки (в настройках).
То, что не правильно работает - это время в
списке каналов когда используешь задержку.
Но это баг в АПИ Картины. Что еще не так?
Скриншот?!
Original comment by Olenka.Joerg@gmail.com
on 6 Nov 2014 at 8:59
У Картины с API все нормально, я вижу
нормальное время и на андроид приложении и
в gson ответе channel_list. Для примера - локальное
время 12:14 (в настройках часовой пояс - 1,
задержка вещания - 2 (Германия). В channel_list для
канала Первый - 2 начало передачи Новости в
unixtimestamp epg_start = 1415271600 = 06.11.2014 - 12:00:00,
окончание - epg_end = 1415272800 = 06.11.2014 - 12:20:00.
(онлайн конвертор (http://www.unixtime.de/). У вас в
программе время передачи - 14:00 - 14:20. Т.е.
впечатление, что при конвертации из unixtimestamp
вы добавляете 2 часа задержки вещания :)
Original comment by asp...@gmail.com
on 6 Nov 2014 at 11:21
Вот тут: ctimerrec.cpp -> SetRecInfo вы таймшифт не
прибавляете?
// check if timeshift is available for this channel ...
int iTs = pChanMap->timeShift(cid);
...
// set timeshift stuff ...
if (iTs)
{
uiStart = tmSync.gmtToTs(uiStart);
uiEnd = tmSync.gmtToTs(uiEnd);
}
Original comment by asp...@gmail.com
on 6 Nov 2014 at 1:44
У Картины с АПИ НЕ все в порядке. Времени в
списке каналов должны быть в ГМТ но они уже
считали с задержкей (1-ая проблема). Вопрос
на epg_current никогда не дает передачи которые
идет в данный момент если используешь
задержку (2-ая проблема).
Если для 1) еще мог бы делать фикс - для 2)
никак не идет.
В каком смысле тут таймер рекорд?
Original comment by Olenka.Joerg@gmail.com
on 6 Nov 2014 at 2:10
1. Да, channel_list дает время уже с задержкой (т.е.
локальное пользователя)
2. epg_current отдает текущую передачу и 2
следующие (только что проверил):
{
"epg": [{
"cid": 1053,
"epg": [{
"ts": "1415282400",
"progname": "\u0417\u0434\u0435\u0441\u044c \u0438 \u0441\u0435\u0439\u0447\u0430\u0441: \u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0432\u044b\u043f\u0443\u0441\u043a\u0438."
}, {
"ts": "1415286000",
"progname": "\u041a\u043e\u0437\u044b\u0440\u0435\u0432 online."
}, {
"ts": "1415289600",
"progname": "\u0414\u0435\u043d\u044c\u0433\u0438: \u041f\u0430\u0440\u0445\u043e\u043c\u0435\u043d\u043a\u043e."
}]
}],
"messages": 0,
"servertime": 1415283612
}
Original comment by asp...@gmail.com
on 6 Nov 2014 at 2:27
Да, epg_current дает текущую передачу. Но это
ведь не подходит если задержка например 4ч.
Тогда мне надо передачи которые шли 4ч.
назад но НЕ текущая передача! Верно?!
Original comment by Olenka.Joerg@gmail.com
on 6 Nov 2014 at 2:35
[deleted comment]
epg_current возвращает текущую передачу со
временем, которое уже учитывает задержку!
Т.е. если задержка 4 часа, то epg_current вернет
передачу, которая шла 4 часа назад. В итоге
задержку вообще надо исключить из
рассчетов.
Original comment by asp...@gmail.com
on 6 Nov 2014 at 3:12
Ну да, так должно быть. Но так и нет. epg_current
дает текущую передача и НЕ считает
задержку. Как насчет пример на вверху?
Юникс таймстэмп там 1415283612 (GMT: Thu, 06 Nov 2014 14:20:12
GMT). Задержка у тебя 2 часа. Как возможно что
тогда следухущие передачи в epg_current в
будущее а не в прошлым:
Server Time: 1415283612 (GMT: Thu, 06 Nov 2014 14:20:12 GMT)
Current show: 1415282400 (GMT: Thu, 06 Nov 2014 14:00:00 GMT)
"Здесь и сейчас: Информационные выпуски."
Next show: 1415286000 (GMT: Thu, 06 Nov 2014 15:00:00 GMT)
"Козырев online."
Next show: 1415289600 (GMT: Thu, 06 Nov 2014 16:00:00 GMT)
"Деньги: Пархоменко."
Original comment by Olenka.Joerg@gmail.com
on 6 Nov 2014 at 7:27
ну так все правильно, я в 14:20 смотрю
передачу, которая идет с 14:00, следующая
передача в 15:00 и в 16:00. Что не так - текущая и 2
в будущем? Все в локальном времени, и не
надо ничего прибавлять или отнимать.
Original comment by asp...@gmail.com
on 6 Nov 2014 at 7:46
А где тогда задержка которая там уже должна
быть?
Пример:
Передача 1) начинается в 6:00 ГМТ.
Передача 2) начинается в 7:00 ГМТ
Передача 3) начинается в 10:00 ГМТ
Передача 4) начинается в 11:00 ГМТ.
Задержка я поставил на 4ч. Начинаешь
посмотреть в 10:00 ГМТ но т.к. задержка 4ч.
будешь посмотреть передача 1).
epg_current показывается тебе теперь, что
текущая передача номерь 3) а следующая
номерь 4). А это ведь не правильно!
Если не поверишь ничего не могу делать -
проблема есть - поверишь ли ты или нет. Я уже
давно говорил с разрабочиком АПИ. И он
знает и скажет что есть та ошибка.
Он делает фикс - но не раньше чем в Январе.
Original comment by Olenka.Joerg@gmail.com
on 6 Nov 2014 at 8:10
А, я кажется, понял - что задержка в
настройках Картина ни на что не влияет,
выставил 0 - и время стало в программе
передач нормальным. Сорри, похоже, запутал
(ся). Не ясно - зачем тогда эта настройка.
Original comment by asp...@gmail.com
on 6 Nov 2014 at 8:11
Hurra!
Original comment by Olenka.Joerg@gmail.com
on 6 Nov 2014 at 8:14
Я понял, что меня сбило с толку - по идее,
если бы timeshift работа правильно, то время в
вашем приложении все равно должно быть
показано локальным (а не сдвинутым на
значение timeshift). Для примера, если мы
говорим о GMT+1 для пользователя (2 часа
разницы с Москвой), то включив программу в
8:00 и не имея тамшифта (= 0) мы смотрим
программу, которая началась в 10:00 по Москве,
но если мы включаем timeshift = 2 часам и тем
самым хотим смотреть программы, которые
шли в тоже время, т.е. в 8:00 мы хотим смотреть
программу, которая шла в 8:00 по Москве - то в
программе мы все равно видим свое
локальное время, а не московское. Верно?
Original comment by asp...@gmail.com
on 7 Nov 2014 at 12:09
Original issue reported on code.google.com by
asp...@gmail.com
on 30 Oct 2014 at 2:47