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:
max_10
2014-07-29 17:23:16 +02:00

View File

@@ -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: {