Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change of IP button on soft keyboard to voice search icon #233

Open
wants to merge 16 commits into
base: spmc-jarvis
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions addons/repository.xbmc.org/addon.xml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="repository.xbmc.org"
name="Kodi Add-on repository"
version="2.4.8"
version="2.4.9"
provider-name="XBMC Foundation">
<requires>
<import addon="xbmc.addon" version="12.0.0"/>
Expand Down Expand Up @@ -111,7 +111,7 @@
<description lang="mk_MK">Превземи и инсталирај Додатоци од официјалниот Kodi.tv склад.[CR] Со користење на официјалниот склад ќе бидете во можност да ги користите предностите на нашата богата датотека со услуги која ви помага да добиете побрзи превземања од регионот блиску до вас.[CR] Сите Додатоци во овој склад се основно тестирани, ако најдете неисправни или додатоци кои не работат пријавете го тоа на тимот на Kodi така што ќе можеме да превземеме било каква акција што е потребна.</description>
<description lang="ms_MY">Muat turun dan pasang tambahan PVR melalui repositori rasmi Kodi.tv[CR] Dengan menggunakan Repositori rasmi anda dapat perkhidmatan cermin fail yang luas supaya dapat memuat turun lebih pantas menerusi kawasan berhampiran anda.[CR] Semua tambahan di dalam repositori ini telah lulus pengujian asas, jika anda temui tambahan yang rosak atau tidak berfungsi sila laporkannya kepada Team-Kodi supaya kami boleh membuat tindakan yang sewajarnya.</description>
<description lang="mt_MT">Niżżel u nstalla add-ons mir-repożitorju uffiċjali ta Kodi.tv.[CR] Permezz ta' dan ir-ripożitorju uffiċjali tista' tieħu vantaġġ mis-servizz ta' file mirrors estensiv li jgħinek tniżżel l-add-ons iktar malajr minn postijiet li huma ġeografikament qrib tiegħek.[CR] L-Add-ons kollha f'dan ir-repożitorju għaddew minn testijiet bażiċi, f'każ li tinzerta xi add-on miksura jew mhux taħdem jekk jpgħġbok irrportha lil Team-Kodi biex inkunu nistgħu nieħdu l-azzjoni li jkun hemm bżonn.</description>
<description lang="nb_NO">Last ned og installer utvidelser fra den offisielle Kodi.tv pakkebrønnen.[CR] Når du benytter den offisielle pakkebrønnen kan du dra nytte av vår omfattende arkivtjeneste slik at du får raskere nedlasting fra en server nær deg.[CR] Alle tillegg i denne brønnen har gått gjennom grunnleggende testing, men hvis du finner et tillegg som ikke fungerer, vennligst rapporter det til Team-Kodi så vi får sett på det.</description>
<description lang="nb_NO">Last ned og installer utvidelser fra den offisielle Kodi.tv pakkebrønnen.[CR] Når du benytter den offisielle pakkebrønnen kan du dra nytte av vår omfattende arkivtjeneste slik at du får raskere nedlasting fra en tjener nær deg.[CR] Alle utvidelser i denne brønnen har gått gjennom grunnleggende testing, men hvis du finner en utvidelse som ikke fungerer, vennligst rapporter det til Team-Kodi så vi får sett på det.</description>
<description lang="nl_NL">Download en installeer add-ons uit de officiële Kodi.tv add-on depot.[CR] Wanneer u de officiële depot gebruikt beschikt u over onze uitgebreide mirrorservice, waardoor u snel kan downloaden van locaties in uw buurt.[CR] Alle add-ons in dit depot ondergingen standaardtests; indien u een defecte of niet-werkende add-on vindt, meld dit dan aan Team-Kodi zodat zij actie kunnen ondernemen.</description>
<description lang="pl_PL">Pobieraj i instaluj dodatki z oficjalnego repozytorium Kodi.tv.[CR] Używając oficjalnego repozytorium korzystasz z serwerów lustrzanych, rozsianych po całym świecie. Wybierany jest ten, który znajduje się najbliżej ciebie, zapewniając dużą prędkość połączenia.[CR]Wszystkie dodatki znajdujące się w tym repozytorium są testowane, ale mogą okazać się niesprawne. Zgłoś wówczas błąd, aby zespół Kodi mógł podjąć odpowiednie działanie.</description>
<description lang="pt_BR">Transfira e instale add-ons a partir do repositório oficial do Kodi.tv.[CR]|Ao utilizar o repositório oficial, você será capaz de tirar proveito do nosso serviço de espelhamento de arquivos, auxiliando em downloads mais rápidos a partir de uma região perto de você.[CR]|Todos os add-ons neste repositório passam por testes básicos, se você encontrar algum quebrado ou que não esteja funcionando, por favor reporte para a equipe do Kodi, para que possamos tomar as ações necessárias.</description>
Expand Down
24 changes: 22 additions & 2 deletions addons/resource.language.en_gb/resources/strings.po
Original file line number Diff line number Diff line change
Expand Up @@ -7972,7 +7972,7 @@ msgstr ""

#: xbmc/video/dialogs/GUIDialogVideoSettings.cpp
msgctxt "#16020"
msgid "Deinterlace"
msgid "Yadif"
msgstr ""

#: xbmc/video/dialogs/GUIDialogVideoSettings.cpp
Expand Down Expand Up @@ -8344,7 +8344,12 @@ msgctxt "#16335"
msgid "IMX - Fast motion (double)"
msgstr ""

#empty strings from id 16336 to 16399
#: xbmc/video/dialogs/GUIDialogVideoSettings.cpp
msgctxt "#16336"
msgid "Software - FFmpeg"
msgstr ""

#empty strings from id 16337 to 16399

#: xbmc/video/dialogs/GUIDialogVideoSettings.cpp
msgctxt "#16400"
Expand Down Expand Up @@ -18191,3 +18196,18 @@ msgctxt "#38113"
msgid "This option uses frame-packing to output full resolution for 3D through HDMI"
msgstr ""

msgctxt "#39000"
msgid "HD and up"
msgstr ""

msgctxt "#39001"
msgid "Accelerate MPEG2"
msgstr ""

msgctxt "#39002"
msgid "Accelerate MPEG4"
msgstr ""

msgctxt "#39003"
msgid "Accelerate h264"
msgstr ""
9 changes: 3 additions & 6 deletions addons/skin.confluence/720p/DialogKeyboard.xml
Original file line number Diff line number Diff line change
Expand Up @@ -388,18 +388,15 @@
<itemgap>0</itemgap>
<orientation>horizontal</orientation>
<control type="button" id="307">
<description>IP Input button</description>
<description>Android Voice Search</description>
<width>100</width>
<height>50</height>
<onup>303</onup>
<ondown>300</ondown>
<label>IP</label>
<texturenofocus border="3">KeyboardKeyNF.png</texturenofocus>
<texturefocus border="5">KeyboardKey.png</texturefocus>
<texturenofocus border="3">KeyboardKeyNFVS.png</texturenofocus>
<texturefocus border="5">KeyboardKeyVS.png</texturefocus>
<align>center</align>
<aligny>center</aligny>
<font>font13</font>
<focusedcolor>black</focusedcolor>
</control>
<control type="radiobutton" id="304">
<description>Symbols button</description>
Expand Down
Binary file added addons/skin.confluence/media/KeyboardKeyNFVS.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added addons/skin.confluence/media/KeyboardKeyVS.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
41 changes: 41 additions & 0 deletions system/settings/settings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -844,6 +844,47 @@
<control type="toggle" />
</setting>
</group>
<group id="4">
<setting id="videoplayer.accelmpeg2" type="integer" label="39001">
<level>2</level>
<default>800</default>
<constraints>
<options>
<option label="20420">9999</option> <!-- Never -->
<option label="39000">800</option> <!-- HD -->
<option label="20422">0</option> <!-- Always -->
</options>
</constraints>
<control type="spinner" format="string" />
<control type="edit" format="integer" />
</setting>
<setting id="videoplayer.accelmpeg4" type="integer" label="39002">
<level>2</level>
<default>800</default>
<constraints>
<options>
<option label="20420">9999</option> <!-- Never -->
<option label="39000">800</option> <!-- HD -->
<option label="20422">0</option> <!-- Always -->
</options>
</constraints>
<control type="spinner" format="string" />
<control type="edit" format="integer" />
</setting>
<setting id="videoplayer.accelh264" type="integer" label="39003">
<level>2</level>
<default>0</default>
<constraints>
<options>
<option label="20420">9999</option> <!-- Never -->
<option label="39000">800</option> <!-- HD -->
<option label="20422">0</option> <!-- Always -->
</options>
</constraints>
<control type="spinner" format="string" />
<control type="edit" format="integer" />
</setting>
</group>
</category>
<category id="myvideos" label="14081" help="36601">
<group id="1">
Expand Down
7 changes: 6 additions & 1 deletion xbmc/FileItem.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1480,7 +1480,12 @@ void CFileItem::SetFromSong(const CSong &song)
{
if (!song.strTitle.empty())
SetLabel(song.strTitle);
if (!song.strFileName.empty())
if (song.idSong > 0)
{
std::string strExt = URIUtils::GetExtension(song.strFileName);
m_strPath = StringUtils::Format("musicdb://songs/%i%s", song.idSong, strExt.c_str());
}
else if (!song.strFileName.empty())
m_strPath = song.strFileName;
GetMusicInfoTag()->SetSong(song);
m_lStartOffset = song.iStartOffset;
Expand Down
63 changes: 32 additions & 31 deletions xbmc/cores/AudioEngine/Sinks/AESinkAUDIOTRACK.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -496,10 +496,29 @@ void CAESinkAUDIOTRACK::GetDelay(AEDelayStatus& status)
return;
}

// In their infinite wisdom, Google decided to make getPlaybackHeadPosition
// return a 32bit "int" that you should "interpret as unsigned." As such,
// for wrap saftey, we need to do all ops on it in 32bit integer math.
uint32_t head_pos = (uint32_t)m_at_jni->getPlaybackHeadPosition();
uint32_t head_pos = 0;
double frameDiffMilli = 0;
if (CJNIBuild::SDK_INT >= 23)
{
CJNIAudioTimestamp ts;
int64_t systime = CJNISystem::nanoTime();
if (m_at_jni->getTimestamp(ts))
{
head_pos = (uint32_t)ts.get_framePosition();
frameDiffMilli = (systime - ts.get_nanoTime()) / 1000000000.0;

if (g_advancedSettings.CanLogComponent(LOGAUDIO))
CLog::Log(LOGDEBUG, "CAESinkAUDIOTRACK::GetDelay timestamp: pos(%lld) time(%lld) diff(%f)", ts.get_framePosition(), ts.get_nanoTime(), frameDiffMilli);
}
}
if (!head_pos)
{
// In their infinite wisdom, Google decided to make getPlaybackHeadPosition
// return a 32bit "int" that you should "interpret as unsigned." As such,
// for wrap saftey, we need to do all ops on it in 32bit integer math.
head_pos = (uint32_t)m_at_jni->getPlaybackHeadPosition();
}

if (!head_pos)
{
status.SetDelay(m_duration_written);
Expand All @@ -512,22 +531,8 @@ void CAESinkAUDIOTRACK::GetDelay(AEDelayStatus& status)
#endif

double delay = m_duration_written - ((double)head_pos / m_sink_sampleRate);
double frameDiffMilli = 0;
if (m_duration_written != m_last_duration_written && head_pos != m_last_head_pos)
{
if (CJNIBuild::SDK_INT >= 23)
{
CJNIAudioTimestamp ts;
int64_t systime = CJNISystem::nanoTime();
if (m_at_jni->getTimestamp(ts))
{
frameDiffMilli = (systime - ts.get_nanoTime()) / 1000000000.0;

if (m_passthrough && g_advancedSettings.CanLogComponent(LOGAUDIO))
CLog::Log(LOGDEBUG, "CAESinkAUDIOTRACK::GetDelay timestamp: pos(%lld) time(%lld) diff(%f)", ts.get_framePosition(), ts.get_nanoTime(), frameDiffMilli);
}
}

m_smoothedDelayVec.push_back(delay - frameDiffMilli);
if (m_smoothedDelayCount <= SMOOTHED_DELAY_MAX)
m_smoothedDelayCount++;
Expand All @@ -546,7 +551,7 @@ void CAESinkAUDIOTRACK::GetDelay(AEDelayStatus& status)
if (m_passthrough && !WantsIEC61937() && m_smoothedDelayCount == SMOOTHED_DELAY_MAX && !m_sink_delay)
m_sink_delay = smootheDelay;

if (m_passthrough && g_advancedSettings.CanLogComponent(LOGAUDIO))
if (g_advancedSettings.CanLogComponent(LOGAUDIO))
CLog::Log(LOGDEBUG, "CAESinkAUDIOTRACK::GetDelay m_duration_written/head_pos %f/%u %f(%f)", m_duration_written, head_pos, smootheDelay, delay);

status.SetDelay(smootheDelay);
Expand Down Expand Up @@ -614,21 +619,17 @@ unsigned int CAESinkAUDIOTRACK::AddPackets(uint8_t **data, unsigned int frames,
double duration = (double)(written / m_format.m_frameSize) / m_format.m_sampleRate;
m_duration_written += duration;

uint32_t sleep_ms;
if (m_lastAddTimeMs)
sleep_ms = (duration * 1000.0) - (XbmcThreads::SystemClockMillis() - m_lastAddTimeMs) - 2 /* overhead */;
else
sleep_ms = (duration * 1000.0);

if (!m_lastAddTimeMs)
m_lastAddTimeMs = XbmcThreads::SystemClockMillis();
int32_t diff = XbmcThreads::SystemClockMillis() - m_lastAddTimeMs;
int32_t sleep_ms = (duration * 1000.0) - diff;
m_lastAddTimeMs = XbmcThreads::SystemClockMillis();
if (sleep_ms > 0)
usleep(sleep_ms * 1000.0);
}


if (m_passthrough && g_advancedSettings.CanLogComponent(LOGAUDIO))
CLog::Log(LOGDEBUG, "CAESinkAUDIOTRACK::AddPackets written %d(%d), tm:%d", written, size, XbmcThreads::SystemClockMillis() - m_lastAddTimeMs);

m_lastAddTimeMs = XbmcThreads::SystemClockMillis();
if (g_advancedSettings.CanLogComponent(LOGAUDIO))
CLog::Log(LOGDEBUG, "CAESinkAUDIOTRACK::AddPackets written %d(%d), tm:%d(%d;%d)", written, size, XbmcThreads::SystemClockMillis() - m_lastAddTimeMs, diff, sleep_ms);
}
return (unsigned int)(written/m_format.m_frameSize);
}

Expand Down
39 changes: 23 additions & 16 deletions xbmc/cores/VideoRenderers/LinuxRendererGLES.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1355,7 +1355,10 @@ void CLinuxRendererGLES::RenderSinglePass(int index, int field)

void CLinuxRendererGLES::RenderToFBO(int index, int field, bool weave /*= false*/)
{
YUVPLANES &planesf = m_buffers[index].fields[field];
YV12Image &im = m_buffers[index].image;
YUVFIELDS &fields = m_buffers[index].fields;
YUVPLANES &planes = fields[FIELD_FULL];
YUVPLANES &planesf = fields[field];

if (m_reloadShaders)
{
Expand All @@ -1368,19 +1371,19 @@ void CLinuxRendererGLES::RenderToFBO(int index, int field, bool weave /*= false*
// Y
glEnable(m_textureTarget);
glActiveTexture(GL_TEXTURE0);
glBindTexture(m_textureTarget, planesf[0].id);
glBindTexture(m_textureTarget, planes[0].id);
VerifyGLState();

// U
glActiveTexture(GL_TEXTURE1);
glEnable(m_textureTarget);
glBindTexture(m_textureTarget, planesf[1].id);
glBindTexture(m_textureTarget, planes[1].id);
VerifyGLState();

// V
glActiveTexture(GL_TEXTURE2);
glEnable(m_textureTarget);
glBindTexture(m_textureTarget, planesf[2].id);
glBindTexture(m_textureTarget, planes[2].id);
VerifyGLState();

glActiveTexture(GL_TEXTURE0);
Expand All @@ -1397,15 +1400,15 @@ void CLinuxRendererGLES::RenderToFBO(int index, int field, bool weave /*= false*
m_fbo.fbo.BeginRender();
VerifyGLState();

m_fbo.width = planesf[0].rect.x2 - planesf[0].rect.x1;
m_fbo.height = planesf[0].rect.y2 - planesf[0].rect.y1;
m_fbo.width = planes[0].rect.x2 - planes[0].rect.x1;
m_fbo.height = planes[0].rect.y2 - planes[0].rect.y1;
if (m_textureTarget == GL_TEXTURE_2D)
{
m_fbo.width *= planesf[0].texwidth;
m_fbo.height *= planesf[0].texheight;
m_fbo.width *= planes[0].texwidth;
m_fbo.height *= planes[0].texheight;
}
m_fbo.width *= planesf[0].pixpertex_x;
m_fbo.height *= planesf[0].pixpertex_y;
m_fbo.width *= planes[0].pixpertex_x;
m_fbo.height *= planes[0].pixpertex_y;
if (weave)
m_fbo.height *= 2;

Expand Down Expand Up @@ -3292,12 +3295,16 @@ bool CLinuxRendererGLES::Supports(EINTERLACEMETHOD method)
return false;
}

#if !defined(TARGET_ANDROID) && (defined(__i386__) || defined(__x86_64__))
if(method == VS_INTERLACEMETHOD_DEINTERLACE
|| method == VS_INTERLACEMETHOD_DEINTERLACE_HALF
|| method == VS_INTERLACEMETHOD_SW_BLEND)
#if (defined(__i386__) || defined(__x86_64__))
if(method == VS_INTERLACEMETHOD_YADIF
|| method == VS_INTERLACEMETHOD_YADIF_HALF
|| method == VS_INTERLACEMETHOD_RENDER_BOB
|| method == VS_INTERLACEMETHOD_SW_FFMPEG
|| method == VS_INTERLACEMETHOD_SW_BLEND
|| method == VS_INTERLACEMETHOD_RENDER_BOB_INVERTED)
#else
if(method == VS_INTERLACEMETHOD_SW_BLEND
if(method == VS_INTERLACEMETHOD_SW_FFMPEG
|| method == VS_INTERLACEMETHOD_SW_BLEND
|| method == VS_INTERLACEMETHOD_RENDER_BOB
|| method == VS_INTERLACEMETHOD_RENDER_BOB_INVERTED)
#endif
Expand Down Expand Up @@ -3383,7 +3390,7 @@ EINTERLACEMETHOD CLinuxRendererGLES::AutoInterlaceMethod()
return VS_INTERLACEMETHOD_IMX_FASTMOTION;

#if !defined(TARGET_ANDROID) && (defined(__i386__) || defined(__x86_64__))
return VS_INTERLACEMETHOD_DEINTERLACE_HALF;
return VS_INTERLACEMETHOD_YADIF_HALF;
#else
return VS_INTERLACEMETHOD_RENDER_BOB;
#endif
Expand Down
Loading