mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-libstb-hal.git
synced 2025-08-27 07:22:44 +02:00
Merge remote-tracking branch 'martiis-libstb-hal/master'
Origin commit data
------------------
Branch: master
Commit: d57d4bb969
Author: max_10 <max_10@gmx.de>
Date: 2014-07-29 (Tue, 29 Jul 2014)
------------------
No further description and justification available within origin commit message!
------------------
This commit was generated by Migit
This commit is contained in:
@@ -20,6 +20,8 @@
|
|||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#define ENABLE_AVLOG 0
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
@@ -220,7 +222,7 @@ bool Input::Play()
|
|||||||
switch (sub.rects[0]->type) {
|
switch (sub.rects[0]->type) {
|
||||||
case SUBTITLE_TEXT: // FIXME?
|
case SUBTITLE_TEXT: // FIXME?
|
||||||
case SUBTITLE_ASS:
|
case SUBTITLE_ASS:
|
||||||
dvbsub_ass_write(stream->codec, &sub, stream->id);
|
dvbsub_ass_write(stream->codec, &sub, _subtitleTrack->pid);
|
||||||
break;
|
break;
|
||||||
case SUBTITLE_BITMAP: {
|
case SUBTITLE_BITMAP: {
|
||||||
int64_t pts = calcPts(stream, packet.pts);
|
int64_t pts = calcPts(stream, packet.pts);
|
||||||
@@ -235,7 +237,7 @@ bool Input::Play()
|
|||||||
}
|
}
|
||||||
} else if (_teletextTrack && (_teletextTrack->stream == stream)) {
|
} else if (_teletextTrack && (_teletextTrack->stream == stream)) {
|
||||||
if (packet.data && packet.size > 1)
|
if (packet.data && packet.size > 1)
|
||||||
teletext_write(stream->id, packet.data + 1, packet.size - 1);
|
teletext_write(_teletextTrack->pid, packet.data + 1, packet.size - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
av_free_packet(&packet);
|
av_free_packet(&packet);
|
||||||
@@ -262,6 +264,7 @@ bool Input::Play()
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if ENABLE_AVLOG
|
||||||
static std::string lastlog_message;
|
static std::string lastlog_message;
|
||||||
static unsigned int lastlog_repeats;
|
static unsigned int lastlog_repeats;
|
||||||
|
|
||||||
@@ -279,6 +282,7 @@ static void log_callback(void *ptr __attribute__ ((unused)), int lvl __attribute
|
|||||||
lastlog_repeats++;
|
lastlog_repeats++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
bool Input::ReadSubtitle(const char *filename, const char *format, int pid)
|
bool Input::ReadSubtitle(const char *filename, const char *format, int pid)
|
||||||
{
|
{
|
||||||
@@ -356,7 +360,9 @@ bool Input::ReadSubtitles(const char *filename) {
|
|||||||
bool Input::Init(const char *filename)
|
bool Input::Init(const char *filename)
|
||||||
{
|
{
|
||||||
abortPlayback = false;
|
abortPlayback = false;
|
||||||
|
#if ENABLE_AVLOG
|
||||||
av_log_set_callback(log_callback);
|
av_log_set_callback(log_callback);
|
||||||
|
#endif
|
||||||
|
|
||||||
if (!filename) {
|
if (!filename) {
|
||||||
fprintf(stderr, "filename NULL\n");
|
fprintf(stderr, "filename NULL\n");
|
||||||
@@ -387,7 +393,13 @@ again:
|
|||||||
avfc->iformat->flags |= AVFMT_SEEK_TO_PTS;
|
avfc->iformat->flags |= AVFMT_SEEK_TO_PTS;
|
||||||
avfc->flags = AVFMT_FLAG_GENPTS;
|
avfc->flags = AVFMT_FLAG_GENPTS;
|
||||||
if (player->noprobe) {
|
if (player->noprobe) {
|
||||||
|
#if (LIBAVFORMAT_VERSION_MAJOR < 55) || \
|
||||||
|
(LIBAVFORMAT_VERSION_MAJOR == 55 && LIBAVFORMAT_VERSION_MINOR < 43) || \
|
||||||
|
(LIBAVFORMAT_VERSION_MAJOR == 55 && LIBAVFORMAT_VERSION_MINOR == 43 && LIBAVFORMAT_VERSION_MICRO < 100)
|
||||||
avfc->max_analyze_duration = 1;
|
avfc->max_analyze_duration = 1;
|
||||||
|
#else
|
||||||
|
avfc->max_analyze_duration2 = 1;
|
||||||
|
#endif
|
||||||
avfc->probesize = 131072;
|
avfc->probesize = 131072;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -442,14 +454,13 @@ bool Input::UpdateTracks()
|
|||||||
for (unsigned int n = 0; n < avfc->nb_streams; n++) {
|
for (unsigned int n = 0; n < avfc->nb_streams; n++) {
|
||||||
AVStream *stream = avfc->streams[n];
|
AVStream *stream = avfc->streams[n];
|
||||||
|
|
||||||
if (!stream->id)
|
|
||||||
stream->id = n + 1;
|
|
||||||
|
|
||||||
Track track;
|
Track track;
|
||||||
track.stream = stream;
|
track.stream = stream;
|
||||||
AVDictionaryEntry *lang = av_dict_get(stream->metadata, "language", NULL, 0);
|
AVDictionaryEntry *lang = av_dict_get(stream->metadata, "language", NULL, 0);
|
||||||
track.title = lang ? lang->value : "";
|
track.title = lang ? lang->value : "";
|
||||||
track.pid = stream->id;
|
track.pid = stream->id;
|
||||||
|
if (!track.pid)
|
||||||
|
track.pid = n + 1;
|
||||||
|
|
||||||
switch (stream->codec->codec_type) {
|
switch (stream->codec->codec_type) {
|
||||||
case AVMEDIA_TYPE_VIDEO: {
|
case AVMEDIA_TYPE_VIDEO: {
|
||||||
|
Reference in New Issue
Block a user