From be14953ebbda86df6e1549b60870db089719808c Mon Sep 17 00:00:00 2001
From: Daniel Thor Kristjansson <danielk@cuymedia.net>
Date: Fri, 11 May 2012 15:00:32 -0400
Subject: [PATCH 3/5] merged devel/rtp #3a34be618f
---
.../libs/libmythtv/recorders/iptvstreamhandler.cpp | 28 ++++++++++++-------
1 files changed, 18 insertions(+), 10 deletions(-)
diff --git a/mythtv/libs/libmythtv/recorders/iptvstreamhandler.cpp b/mythtv/libs/libmythtv/recorders/iptvstreamhandler.cpp
index 52b7823..188cf0e 100644
|
a
|
b
|
void IPTVStreamHandler::run(void)
|
| 167 | 167 | "", 0); |
| 168 | 168 | } |
| 169 | 169 | |
| | 170 | bool error = false; |
| 170 | 171 | for (uint i = 0; i < IPTV_SOCKET_COUNT; i++) |
| 171 | 172 | { |
| 172 | 173 | QUrl url = tuning.GetURL(i); |
| … |
… |
void IPTVStreamHandler::run(void)
|
| 204 | 205 | m_sockets[i]->setSocketDescriptor( |
| 205 | 206 | fd, QAbstractSocket::UnconnectedState, QIODevice::ReadOnly); |
| 206 | 207 | |
| 207 | | m_sockets[i]->bind(QHostAddress::Any, url.port()); |
| 208 | | |
| 209 | 208 | QHostAddress dest_addr(tuning.GetURL(i).host()); |
| 210 | 209 | |
| | 210 | if (!m_sockets[i]->bind(dest_addr, url.port())) |
| | 211 | { |
| | 212 | LOG(VB_GENERAL, LOG_ERR, LOC + "Binding to port failed."); |
| | 213 | error = true; |
| | 214 | } |
| | 215 | |
| 211 | 216 | if (dest_addr != QHostAddress::Any) |
| 212 | 217 | { |
| 213 | 218 | //m_sockets[i]->joinMulticastGroup(dest_addr); // needs Qt 4.8 |
| … |
… |
void IPTVStreamHandler::run(void)
|
| 229 | 234 | if (!url.userInfo().isEmpty()) |
| 230 | 235 | m_sender[i] = QHostAddress(url.userInfo()); |
| 231 | 236 | } |
| 232 | | if (m_use_rtp_streaming) |
| 233 | | m_buffer = new RTPPacketBuffer(tuning.GetBitrate(0)); |
| 234 | | else |
| 235 | | m_buffer = new UDPPacketBuffer(tuning.GetBitrate(0)); |
| 236 | | m_write_helper = new IPTVStreamHandlerWriteHelper(this); |
| 237 | | m_write_helper->Start(); |
| 238 | 237 | |
| 239 | | bool error = false; |
| 240 | | if (rtsp) |
| | 238 | if (!error) |
| | 239 | { |
| | 240 | if (m_use_rtp_streaming) |
| | 241 | m_buffer = new RTPPacketBuffer(tuning.GetBitrate(0)); |
| | 242 | else |
| | 243 | m_buffer = new UDPPacketBuffer(tuning.GetBitrate(0)); |
| | 244 | m_write_helper = new IPTVStreamHandlerWriteHelper(this); |
| | 245 | m_write_helper->Start(); |
| | 246 | } |
| | 247 | |
| | 248 | if (!error && rtsp) |
| 241 | 249 | { |
| 242 | 250 | // Start Streaming |
| 243 | 251 | if (!rtsp->Setup(m_sockets[0]->localPort(), |