summaryrefslogtreecommitdiffstats
path: root/libavformat/mpegtsenc.c
diff options
context:
space:
mode:
authorGeorgi Chorbadzhiyski <gf@unixsol.org>2011-01-20 09:26:40 +0200
committerMichael Niedermayer <michaelni@gmx.at>2011-01-21 20:35:46 +0100
commit7916202b9710287078e41f70c4f119b4dff64ee6 (patch)
treeccb1b652a087e324d4d4c2bee93e63387b00ff5b /libavformat/mpegtsenc.c
parente25f19a113017538a5cafba065f970441d52d28b (diff)
downloadffmpeg-streaming-7916202b9710287078e41f70c4f119b4dff64ee6.zip
ffmpeg-streaming-7916202b9710287078e41f70c4f119b4dff64ee6.tar.gz
Add service_provider and service_name metadata
This patch adds support in mpegts muxer for using service_provider and service_name metadata to set service_provider_name and service_name fields in SDT. Example usage: ffmpeg -i file.ts -f mpegts -re -acodec copy -vcodec copy -f mpegts \ -metadata service_provider="Some provider" \ -metadata service_name="Some Channel" \ "udp://239.0.70.2:5000?pkt_size=1316&ttl=1" Signed-off-by: Mans Rullgard <mans@mansr.com> (cherry picked from commit 69688e71bc4c4318209e8d4e3861c47186caebda)
Diffstat (limited to 'libavformat/mpegtsenc.c')
-rw-r--r--libavformat/mpegtsenc.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c
index bfd21db..14bbd62 100644
--- a/libavformat/mpegtsenc.c
+++ b/libavformat/mpegtsenc.c
@@ -391,18 +391,22 @@ static int mpegts_write_header(AVFormatContext *s)
MpegTSWriteStream *ts_st;
MpegTSService *service;
AVStream *st, *pcr_st = NULL;
- AVMetadataTag *title;
+ AVMetadataTag *title, *provider;
int i, j;
const char *service_name;
+ const char *provider_name;
int *pids;
ts->tsid = DEFAULT_TSID;
ts->onid = DEFAULT_ONID;
/* allocate a single DVB service */
title = av_metadata_get(s->metadata, "title", NULL, 0);
+ if (!title)
+ title = av_metadata_get(s->metadata, "service_name", NULL, 0);
service_name = title ? title->value : DEFAULT_SERVICE_NAME;
- service = mpegts_add_service(ts, DEFAULT_SID,
- DEFAULT_PROVIDER_NAME, service_name);
+ provider = av_metadata_get(s->metadata, "service_provider", NULL, 0);
+ provider_name = provider ? provider->value : DEFAULT_PROVIDER_NAME;
+ service = mpegts_add_service(ts, DEFAULT_SID, provider_name, service_name);
service->pmt.write_packet = section_write_packet;
service->pmt.opaque = s;
service->pmt.cc = 15;
OpenPOWER on IntegriCloud